Разработка сайта: статистика и визуализация данных

100 000 руб. за проект • безналичный расчёт, электронные деньги
29 января 2019, 12:17 • 18 откликов • 140 просмотров
Визуализация статистики по активам (акциям) на основании исторических данных

Смысл всего этого: человек хочет сделать вывод на основе исторических данных какие активы ему выгоднее купить.

Для среднестатистического человека привлекательсть владения активом оценивается в доходности + волатильность (либо максимальном возможном падении) актива.

Из различных активов составляется портфель.
Упрощенно это можно представить как ответ на вопрос "по статистике с горизонтом планирования 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-key
https://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 варианты), выбирает отрезок времени
сайт пересчитывает результаты работы алгоритма с указанными параметрами.