Начало работы

Установка

$ pip install poptimizer

Для начала работы требуется также установить MongoDB

Опционально можно скачать Chromium - в ином случае его загрузка будет осуществлена автоматически при первой необходимости, что может замедлить исполнение

$ pyppeteer-install

Пример использования

Распечатка основных данных по портфелю и его оптимизации:

import poptimizer

CASH = 58652
POSITIONS = dict(
    BANE=236,
    LSNGP=4300,
    PIKK=4090,
    RASP=13980,
    RTKMP=65000,
)
DATE = "2019-04-05"


port = poptimizer.Portfolio(DATE, CASH, POSITIONS)
opt = poptimizer.Optimizer(port, months=12)
print(opt.portfolio)
print(opt.metrics)
print(opt)
ПОРТФЕЛЬ

Дата - 2019-04-05
Количество бумаг - 5

           LOT_SIZE  SHARES       PRICE      VALUE    WEIGHT    VOLUME
BANE              1     236     1989.00   469404.0  0.057247  0.991187
LSNGP           100    4300       97.70   420110.0  0.051235  0.998407
PIKK             10    4090      360.10  1472809.0  0.179619  0.999777
RASP             10   13980      134.38  1878632.4  0.229112  0.999980
RTKMP           100   65000       60.00  3900000.0  0.475633  0.995326
CASH              1   58652        1.00    58652.0  0.007153  1.000000
PORTFOLIO         1       1  8199607.40  8199607.4  1.000000  1.000000

КЛЮЧЕВЫЕ МЕТРИКИ ПОРТФЕЛЯ

СКО градиента - 8.23%

               MEAN       STD      BETA  LOWER_BOUND  GRADIENT
BANE       0.057399  0.105149  0.422632    -0.012147  0.066363
LSNGP      0.061400  0.217127  1.167176    -0.130666 -0.052155
PIKK       0.022488  0.237663  0.991919    -0.140738 -0.062227
RASP       0.098261  0.295528  2.751544    -0.354522 -0.276011
RTKMP      0.111560  0.043688  0.225855     0.074394  0.152905
CASH       0.000000  0.000000  0.000000     0.000000  0.078511
PORTFOLIO  0.086045  0.082278  1.000000    -0.078511  0.000000

ХАРАКТЕРИСТИКИ ПРОГНОЗА
Количество обучающих примеров - 9638
Обучено решающих деревьев - 66
Глубина деревьев - 8
R2 - 0.8%
Средняя корреляция между акциями - 10.1%
Сила сжатия ковариационной матрицы - 43.0%

ВАЖНОСТЬ ИСПОЛЬЗОВАННЫХ ПРИЗНАКОВ
                  STD   Ticker     Mom12m  DivYield_0     Mom1m     RetMax
Importance  12.319005  1.39063  29.189222   21.611666  4.353386  31.136091

ОПТИМИЗАЦИЯ ПОРТФЕЛЯ

ЛУЧШАЯ СДЕЛКА
t_score = 5.19
Продать RASP - 5 сделок 7 лотов
Купить  RTKMP - 5 сделок 1 лотов

           LOWER_BOUND  GRADIENT  TURNOVER    GROWTH
RTKMP         0.074394  0.152905  0.995326  0.426911
CASH          0.000000  0.078511  1.000000  0.354522
BANE         -0.012147  0.066363  0.991187  0.339357
PORTFOLIO    -0.078511  0.000000  1.000000  0.276011
LSNGP        -0.130666 -0.052155  0.998407  0.223500
PIKK         -0.140738 -0.062227  0.999777  0.213736
RASP         -0.354522 -0.276011  0.999980  0.000000