Как создать и вызвать класс Python для расчета формулы критерия Келли для ставок на спорт?Python

Программы на Python
Anonymous
Как создать и вызвать класс Python для расчета формулы критерия Келли для ставок на спорт?

Сообщение Anonymous »

Я пытаюсь создать класс Python для расчета формулы критерия Келли, чтобы определить точный размер ставки для инвестиций в отдельный вид спорта. Я не очень хорошо разбираюсь в функции Class или функции init, и мне нужна помощь.
Класс, который я пытаюсь создать, использует три функции:
  • Функция 1 просит пользователя ввести предполагаемый процент выигрыша по ставке (сохраняется в переменной «winP»).
  • Функция 2 просит пользователя ввести американские коэффициенты для этой конкретной ставки. Затем я конвертирую американские коэффициенты в десятичные коэффициенты для использования с формулой критерия Келли (сохраняется в переменной «коэффициенты»).
  • Функция 3 принимает «winP» и «коэффициенты» и реализует эти данные в формулу критерия Келли.
Формула критерия Келли, которую я использую:
Критерий Келли (kCrit) = ((коэффициенты - 1) * (1 - выигрышP)) / (коэффициенты - 1)
'коэффициенты' — это десятичная форма американских коэффициентов после конвертации. 'winP' в ожидаемой вероятности выигрыша для этой конкретной ставки.
Мне удалось заставить 1-ю и 2-ю функции работать идеально (win_percentage, Convert_to_decimal), однако мне не удалось заставить работать 3-ю функцию (implement_kc)
Вот мой код ниже:

Код: Выделить всё

class KellyCriterion:

def win_percentage(percent):

winP = int(input('What is your win percentage?: '))
return winP

def convert_to_decimal(odds):

odds = int(input('What are the American odds?: '))

if odds > 0:
odds = (odds/100) + 1
return odds
elif odds < 0:
odds = -(100/odds) + 1
return odds

def implement_kc(winP, odds):

kCrit = ((odds - 1) * (1-winP)) / (odds-1)
return kCrit

winPercent = KellyCriterion()
winPercent.win_percentage()

betSize = KellyCriterion()
betSize.convert_to_decimals()

Я не был уверен, как правильно вызвать третью функцию:

Код: Выделить всё

kelly = KellyCriterion()
kelly.implement_kc()

Я получил ошибку: NameError: имя «winP» не определено.
Я новичок в использовании функций класса, и мне могла бы пригодиться помощь. Я также пробовал использовать функцию init(self), но не совсем понимаю, как она работает.
Будем очень признательны за любые предложения. Заранее благодарим за любую помощь, которую вы можете предложить.
Просто хочу уточнить: первая функция (win_percentage) и вторая функция (convert_to_decimal) работают нормально. У меня проблемы с третьей функцией (implement_kc).
Я хотел бы найти способ вызвать класс KellyCriterion, чтобы: 1) спросить пользователя, каков его процент выигрыша; 2) спросить у пользователя, каковы американские коэффициенты; 3) внедрить оба ответа в формулу критерия Келли, чтобы определить подходящий размер ставки.
Еще раз спасибо!

Вернуться в «Python»