Я автоматизирую свою торговлю в R. Я пытаюсь использовать функцию nls и fit для оптимизации моей формулы, однако мне возвращается только начальный начальный параметр, который я ввожу. Вместо того, чтобы использовать метод проб и ошибок, я пытаюсь найти способ использовать функцию, которая будет возвращать оптимальное значение для моей стратегии.
Я попытался ввести различные значения для переменных "a" и "b", однако возвращаются только те начальные значения, которые я ввожу, и оптимизация не происходит. Я не уверен, что я использую неправильную функцию или есть более подходящая, которую я должен использовать. Приведенный ниже код показывает то, что я пробовал, значения переменных (заданные моделью, а не те, которые я пытаюсь оптимизировать, были сгенерированы случайным образом, поскольку я не знаю, как загрузить рыночные данные в этот вопрос.
# VARIABLES
x <- 1:1000 # number instead of date
y <- round((runif(1000, min=0, max=50)), digits=2) # highest price of the day minus the opening price of the day
z <- round((runif(1000, min=0.001, max=0.040)), digits=6) # implied volatility for the day
w <- sample(2000:2800, 1000, replace=TRUE) # opening price for the day
# FORMULA
# OPEN PRICE OF THE DAY - MULTIPLIED - BY IMPLIED VOLATILITY FOR THE DAY = (APPROXIMATLY) HIGHEST PRICE OF THE DAY - MINUS - OPEN PRICE FOR THE DAY
( w * (1 + z)) - w = y
# OPTMISED FORMULA FORMAT
(( w * ((1 + z) * a)) * b) - w = y # ATTEMPTING TO OPTMISE MY FORMULA TO IMPROVE THE ACCURACY OF RESULT FOR EXPECTED HIGH (y)
# TRYING WITH STARTING VALUES
a <- 0.000001
b <- 0.000001
# USING nls function and fit
m<-nls( y~ (( w * ((1 + z) * a)) - w)) + b
# OR
m<-nls( y~(( w * ((1 + z) * a)) * b)) - w
Я пытаюсь получить значения переменных «a» и «b», которые лучше всего подходят для любой версии моих формул, чтобы ожидаемый максимум лучше приближался к реализованному максимуму. Спасибо заранее за любую помощь, которую вы, ребята, могли бы предложить.