Я новичок в Pyomo и пытаюсь использовать данные в моем pandas фрейме данных в качестве параметров в модели оптимизации, фрейм данных выглядит следующим образом:
Ticker Margin Avg. Volume M_ratio V_ratio
Index
0 ES1 6600.00 1250970 0.126036 0.212996
1 TY1 1150.00 1232311 0.021961 0.209819
2 FV1 700.00 488906 0.013367 0.083244
3 TU1 570.00 293885 0.010885 0.050038
4 ED3 500.00 137802 0.009548 0.023463
5 NQ1 7500.00 427061 0.143223 0.072713
6 FDAX1 24074.12 98838 0.459728 0.016829
7 FESX1 2641.28 832836 0.050439 0.141803
8 FGBL1 2502.75 546878 0.047793 0.093114
9 FGBM1 1042.10 330517 0.019900 0.056275
10 FGBS1 262.97 232801 0.005022 0.039638
11 F2MX1 4822.81 398 0.092098 0.000068
Модель, которую я создаю, нацелена на найдите максимальные контракты, которые можно заключить во всех активах, исходя из баланса и ряда ограничений
Мне нужно пройтись по строкам, чтобы добавить все соответствующие данные в model.utilisation
model.Vw = Param() #<- V_ratio from df
model.M = Param() #<- Margin from df
model.L = Var(domain=NonNegativeReals)
model.utilisation = Objective(expr = model.M * model.L, sense=maximize)
Эффективно нужно взять маржу для каждого тикера и определить, сколько из этого Вы можете получить отношение к балансу - например,
* (Маржа ES1 * модель.L) + (Маржа TY1 * модель.L) * et c et c во всем фрейме данных.
Я протестировал логи c, подключив фиктивные данные, и, кажется, работает, но неэффективно записывать каждый фрагмент данных, а затем добавлять его в модель использования, поскольку в моем фрейме данных есть сотни строк.
Извините, если есть какие-то ослепительные ошибки, очень новые для Pyomo