Визуализация статистики по активам (акциям) на основании исторических данных
Смысл всего этого: человек хочет сделать вывод на основе исторических данных какие активы ему выгоднее купить.
Для среднестатистического человека привлекательсть владения активом оценивается в доходности + волатильность (либо максимальном возможном падении) актива.
Из различных активов составляется портфель.
Упрощенно это можно представить как ответ на вопрос "по статистике с горизонтом планирования 5 лет лучше купить "10 акций А и 20 акций Б" или "15 А и 15 Б" ?
Что у нас есть:
1. статистика по ценам на активы за предыдущие периоды
2. алгоритмы как составлять портфели (алгоритмы разбиты на группы)
3. библиотеки zipline.io и pyportfolioopt которые умеют все считать что нам надо
Что надо:
из этого построить сайт который будет показывать примерно такие страницы
https://s3.amazonaws.com/aahqpages/t.pure.html , а именно
- расчетные доходности и риск метрики (Alpha, Beta, Sharpe, Sortino, Max Drawdown, Benchmark Returns, Volatility - ничего сложного, все отлично описано, я поясню если что-то будет не ясно)
- красивые графики на которых видно где находится текущий алгоритм относительно других
- возможность применить анализ к различным промежуткам времени (например перетянуть ползунок периода времени внизу чарта
https://www.anychart.com/products/anystock/gall..., и через ajax оно обновит на странице результаты работы алгоритма )
- система платной подписки
АПИ для данных:
https://www.alphavantage.co/support/#api-keyhttps://intrinio.com/marketplace/data?geography=gl...гейт для АПИ надо делать как провайдер в возможностью легко сменить провайдера данных
Алгоритмы для начала:
1. простой алгоритм
берем Х активов, определяем каждому % от портфолио
в течение месяца цена активов меняется = изменяется их вес в портфеле
раз в месяц проверяем - если % актива изменился более чем на величину Y - делаем ребаланс
Ребалансировка = продаем часть подорожавшего актива, и покупаем тот который подешевел, что бы веса каждого актива в портфеле вернулись в исходное состояние.
В либе это все уже релизовано, процесс описан для понимания что именно происходит.
2. Momentum Channels
описан тут
https://www.quantopian.com/posts/cssanalytics-a-si...и там же готовый код, надо его просто вписать в нашу систему
3. Elastic Asset Allocation (EAA)
https://www.quantopian.com/posts/keller-slash-butl...аналогично описан весь алгоритм и есть его исходный код, надо просто перенести в нашу систему
Результат:
человек открывает сайт, выбирает алгоритм, выбирает активы (мы ему даем predefined варианты), выбирает отрезок времени
сайт пересчитывает результаты работы алгоритма с указанными параметрами.