Блог им. AVBacherov

Профессиональный инвестиционный калькулятор на Python

Продолжаю сидеть на самоизоляции и учусь программировать на Python. Написал полноценный калькулятор для сравнения двух любых активов.

Считает такие показатели как:

✅ Ожидаемая доходность
✅ Волатильность
✅ Коэффициент Шарпа для каждого актива
✅ Корреляцию
✅ Бету
✅ Альфу
✅ Долю волатильности исследуемого актива в базовом (удобно для сравнения с индексными фондами или индексами, если их брать в качестве базового актива)
✅ Коэффициент Трейнора
✅ Альфу Дженсена

Профессиональный инвестиционный калькулятор на Python

Можно задать период на котором необходимо произвести расчеты. Строить графики для сравнения.

Профессиональный инвестиционный калькулятор на Python
Профессиональный инвестиционный калькулятор на Python
Калькулятор удобен для оценки эффективности инвестиций в различные фонды, спекулятивные и/или алгоритмические стратегии, сравнения отдельных акций с индексами и между собой.

При этом удалось реализовать расчет не только классическим способом, но и с использованием весового фактора (когда последним значениям присваивается больший вес по сравнению с более ранними). Я писал про расчет волатильности по методике JPMORGAN.

Модернизированный калькулятор позволяет просмотреть динамику всех указанных показателей с учетом скользящего окна.
Профессиональный инвестиционный калькулятор на Python

По пути пришлось порешать немало интересных программерских задач.Научится пользоваться Numpy, Pandas, Matplotlib, грузить данные из файлов и их обрабатывать, а также некоторыми другими функциями.

Сейчас есть задача сформировать свою базу данных, чтобы не выгружать их из текстовых файлов. Давно я к этому шел, и пришло время эту задачу порешать.

★22
104 комментария
Так где сам то калькулятор?
avatar
3Qu, хотите получить? Не думаю, что стоит делиться такими штуками бесплатно. 
Алексей Бачеров, нет, не хочу. Но если не хотите делиться, то и писать не надо было. А может хотите продать? Или тоже нет?
Когда я пишу о софте, у меня всегда ссылка на исходники. Иначе не вижу смысла об этом писать 
avatar
3Qu, я еще не решил. Может и продавать буду. Но для этого её надо модернизировать — сделать интерфейс графический и нужно бы еще для нее базу данных, чтобы пользователи могли всегда считать по актуальной информации. Так что, пока это рабочий вариант для меня, но незаконченный коммерческий продукт.
3Qu, Это исследование.
Отчет о профессиональном росте.
Почему вызывает негатив отказ дать исходники?

avatar
Антон Б, негатив? Мне без разницы. В чем цель поста? Картинки показать. Для чего? Это не исследование — у исследования должны быть результаты, иллюстрируемые картинками.
Ну, сделал картинки, и молодец.
avatar
3Qu, картинка и есть результат.
 а код это метод достижения результата.
автор зарабатывает исследованием финансовым.
и продает экспертизу, которая вложена в код.

если он будет раздавать код то кто купит его экспертизу?

Вашей квалификации хватает, чтобы прямо из стакана забирать деньги.
но таких меньшинство.
остальные вынуждены добывать хлеб в поте лица.
не надо об этом забывать.
avatar
Антон Б, пардон, я не глянул кто автор. Теперь понятно.
Сразу бы посмотрел, и писать бы ничего не стал.
avatar
3Qu, 
Это очередной обнулившийся клоун
https://sbis.ru/contragents/7715954047/771501001

Зашквареный ранее работой с МФО
https://sbis.ru/contragents/7715961887/771501001
avatar
Антон Б, 
Это очередной обнулившийся клоун
https://sbis.ru/contragents/7715954047/771501001

Зашквареный ранее работой с МФО
https://sbis.ru/contragents/7715961887/771501001
avatar

3Qu, согласен. зря плюсик автору поставил. зачем он наше время тратит на то что бы похвастаться не самой хитрой программой (скажем так-значительная часть трудоёмкости в библиотеках опен сорс ).

Если человек сделал и делиться -всегда плюс ставлю даже если продукт мне не нравиться. просто потому что человек делает хорошее дело (насколько хорошо он может делать-вопрос другой)

если человек делиться и приглашает единомышленников присоединиться- это одно. если он тупо хвастается или хуже рекламой своей подделки занят- совсем другое.

avatar

Gregori, это же Ваш выбор — тратить время или нет. А если сама тема заинтересовала, так напишите в личку, глядишь и найдем общие интересы.

А если у Вас есть, какое-то отторжение к рекламе, PR, тогда это дело сугубо личное.

Gregori, 
Это очередной обнулившийся клоун
https://sbis.ru/contragents/7715954047/771501001

Зашквареный ранее работой с МФО
https://sbis.ru/contragents/7715961887/771501001
avatar
Алексей Бачеров, ну зато бесплатно попонтовался. Это того стоило.
avatar
Turbo Pascal, 
Это очередной обнулившийся клоун
https://sbis.ru/contragents/7715954047/771501001

Зашквареный ранее работой с МФО
https://sbis.ru/contragents/7715961887/771501001
avatar
Алексей Бачеров, в чем польза поста?
Артур Идиатулин, польза всегда есть. Возможно она в бОльшей степени для меня...
Артур Идиатулин, 
Это очередной обнулившийся клоун
https://sbis.ru/contragents/7715954047/771501001

Зашквареный ранее работой с МФО
https://sbis.ru/contragents/7715961887/771501001
avatar

Алексей Бачеров, видно, что вы начинающий программист, им свойственно переоценивать результат своего труда.

Совет — вначале обязательно раздавайте свои программы бесплатно, так вы получите бесплатных тестеров и людей, которые будут вам бесплатно давать советы по улучшению своего продукта.

После штук 10 таких проектов вы будете готовы продавать своё ПО за деньги.

Чёрный Трейдер, ну я себя вообще программером не считаю. Но многое делаю своими руками. Позволяет существенно глубже понять многие вещи. И программирую то давно. Вот мойИнвестиционный бюллетень — полностью автоматический
Чёрный Трейдер, 
Это очередной обнулившийся клоун
https://sbis.ru/contragents/7715954047/771501001

Зашквареный ранее работой с МФО
https://sbis.ru/contragents/7715961887/771501001
avatar

Подскажите пожалуйста, как сделать индикатор объема на графике, вот мой код: 

import pandas as pd<br />import matplotlib.pyplot as plt<br />from matplotlib.ticker import (AutoMinorLocator)<br />from datetime import datetime<br /><br /><br />print("Введите ТИКЕР акции(например SBER)")<br />TICK = input()<br />print("Введите режим торгов для акций (TQBR), для etf (TQTF)")<br />board = input()<br />i=0<br /><br />#подготовка баз<br />trade=pd.DataFrame()<br />tradeBUY=pd.DataFrame()<br />tradeSELL=pd.DataFrame()<br />main = pd.read_excel("C:/PYEX/Database/{}.xlsx".format(board), sheet_name=0)<br />tr = pd.read_excel("C:/PYEX/Trade.xlsx", sheet_name=0)<br />for i in range(0, len(tr['Дата заключения'])):<br />    trade = trade.append({'INDEX':i}, ignore_index=True)<br />    tradeBUY = trade.append({'INDEX':i}, ignore_index=True)<br />    tradeSELL = trade.append({'INDEX': i}, ignore_index=True)<br /><br />#построение массива<br />j=0<br />for i in range(0,len(tr['Код финансового инструмента'])):<br />    if TICK == tr['Код финансового инструмента'][i]:<br />        if tr['Операция'][i] == 'Покупка':<br />            tradeBUY.loc[tradeBUY.INDEX == tradeBUY['INDEX'][j], TICK] = tr['Код финансового инструмента'][i]<br />            tradeBUY.loc[tradeBUY.INDEX == tradeBUY['INDEX'][j], 'TRADEDATE'] = int(datetime.toordinal(tr['Дата заключения'][i]))<br />            tradeBUY.loc[tradeBUY.INDEX == tradeBUY['INDEX'][j], 'PRICE'] = (tr['Цена'][i])<br />            tradeBUY.loc[tradeBUY.INDEX == tradeBUY['INDEX'][j], 'CV'] = tr['Количество'][i]<br />            tradeBUY.loc[tradeBUY.INDEX == tradeBUY['INDEX'][j], 'TYPE'] = tr['Операция'][i]<br />            tradeBUY.loc[tradeBUY.INDEX == tradeBUY['INDEX'][j], 'VOLUME'] = tr['Операция'][i] * tr['Количество'][i]<br />            j = j + 1<br />        else:<br />            tradeSELL.loc[tradeSELL.INDEX == tradeSELL['INDEX'][j], TICK] = tr['Код финансового инструмента'][i]<br />            tradeSELL.loc[tradeSELL.INDEX == tradeSELL['INDEX'][j], 'TRADEDATE'] = datetime.toordinal(tr['Дата заключения'][i])<br />            tradeSELL.loc[tradeSELL.INDEX == tradeSELL['INDEX'][j], 'PRICE'] = tr['Цена'][i]<br />            tradeSELL.loc[tradeSELL.INDEX == tradeSELL['INDEX'][j], 'CV'] = tr['Количество'][i]<br />            tradeSELL.loc[tradeSELL.INDEX == tradeSELL['INDEX'][j], 'TYPE'] = tr['Операция'][i]<br />            tradeSELL.loc[tradeSELL.INDEX == tradeSELL['INDEX'][j], 'VOLUME'] = tr['Операция'][i] * tr['Количество'][i]<br />            j=j+1<br /><br />#Дата из цифрового формата в нормальный<br />for i in range(0, len(main['TRADEDATE'])):<br />    main.loc[main.TRADEDATE == main['TRADEDATE'][i], 'TRADEDATE'] = datetime.fromordinal(main['TRADEDATE'][i])<br /><br />#построение графика<br />x1 = main['TRADEDATE']<br />y1 = main[TICK]<br />x2 = tradeBUY['TRADEDATE']<br />y2 = tradeBUY['PRICE']<br />x3 = tradeSELL['TRADEDATE']<br />y3 = tradeSELL['PRICE']<br />fig, ax = plt.subplots(figsize=(5, 1))<br />tradeBUY.apply(lambda x: ax.annotate(x['CV'],xy = (x['TRADEDATE'], x['PRICE']), color='green', fontsize=11,arrowprops=(dict(color='green'))), axis=1)<br />tradeSELL.apply(lambda x: ax.annotate(x['CV'], (x['TRADEDATE'], x['PRICE']), color='red', fontsize=11,arrowprops=(dict(color='red',headlength = - 10 ))), axis=1)<br />ax.plot(x1, y1)<br />ax.xaxis.set_minor_locator(AutoMinorLocator())<br />ax.yaxis.set_minor_locator(AutoMinorLocator())<br />ax.tick_params(which='major', length=10, width=2)<br />ax.tick_params(which='minor', length=5, width=1)<br />ax.set_xlabel('ДАТА')<br />ax.set_ylabel('ЦЕНА')<br />ax.set_title(TICK)<br />plt.grid()<br />plt.show()

получить хочу типо такого индикатора объема, как под графиком:



Михаил Titov, постараюсь посмотреть в ближайшие дни, тогда отпишусь.
Михаил Titov, а нужно именно как на скриншоте? Через subplot — не подходит (у меня есть графики в посте с subplot)?
Алексей Бачеров, а я как раз решил запариться, и сделал 

Михаил Titov, похоже на с использованием subplot. Реально удобно, сам юзаю.
Алексей Бачеров, Numpy, Pandas, Matplotlib с вами бесплатно поделились, а пара десятков строк кода по верх них нужно конечно продавать. 
avatar
Михаил, каждый сам выбирает как поступать. А если там пара строк кода, так Вы и сами напишите.
Алексей Бачеров, написал и не раз. Спасибо квант фонду AQR Capital Management, который поделился со мной pandas — теперь легко писать подобные штуки буквально в несколько строк. И кстати библиотечку, которую вам ниже подсказали, для скачки котировок я написал.
avatar
Михаил, не пойму я Вас. Вы хотите меня пристыдить? Зачем? К тому же я ничего не продаю, по крайней мере пока. А делиться кодом или нет, это уже мое дело. Не согласны?
Алексей Бачеров, вы воспользовались известными библиотеками и посчитали известные показатели — не понятна цель поста. Было бы какое-то ноу-хау еще можно было бы понять вас. Подвесили бы код, хоть какая-то польза была — новички бы у вас посмотрели и чего-то изучили полезное, более продвинутые подсказали, что вы делаете не так.
avatar

Михаил, я не благотворительная организация. Обязательно изобретать НОУ-ХАУ? Пусть люди почитают то что есть, и сами напишут. Книги доступны в магазинах и в библиотеках. Я и так много пишу того, что не поднимается в широких кругах. Полистайте мою ленту.

Всё, что я программирую, я делаю прежде всего для себя. Это помогает мне в моих инвестициях и в моей работе. Я не против чем-то делиться, если увижу смысл. И советы мне по улучшению не нужны, сам знаю как протестировать, и проверить правильность работы. А будут ошибки, так найду и поправлю. Коммерческий продукт не продаю. Да и коммерческие глючат. А если будет нужен совет — напишу, форумов по программированию много, и это точно не смарт-лаб (при всем моем уважении к Тиме).

Да и цель поста, совсем не обязательно должна быть: «поделиться исходниками». Реклама, PR, просто собственный блог — все они ничуть не хуже. И если Вы видите в этих целях, что-то зазорное, то мне нечего Вам сказать.

Алексей Бачеров, зазорного ничего в этом нет. Вижу бесполезное — почерпнуть чего-то сложно и помочь нельзя. 
avatar
Михаил, для Вас может и бесполезно, а для меня так и реальная польза. По себе не судят.
Михаил, 
Это очередной обнулившийся клоун
https://sbis.ru/contragents/7715954047/771501001

Зашквареный ранее работой с МФО
https://sbis.ru/contragents/7715961887/771501001
avatar
Михаил, расскажите это RedHat или Mongo
Ынвестор, плохой пример. У первых есть Fedora и куча комита в ядро и свободные драйвера, вторые вообще AGPL были и не далеко от этого ушли.
avatar
Ынвестор, MongoDB сам использую — она бесплатная, как ODM к ней,  драйвер для Питона и Compass для просмотра базы. RedHat в первую очередь берет за поддержку, а так кучу бесплатных дистрибутивов Linux на любой вкус доступно. В любом случае, эти две программы не в 20 строк по известным алгоритмам. 
avatar
Михаил, тикер MDB. Реально если разговор о 20-ти строках ну пусть народ сам и напишет. Например описание нейросетки на keras  еще короче.  Или вот писал прайсинг опционов по Монте-Карло. Реально тоже строк 20-30 не больше. Но это надо сначала сообразить как писать. Опять же обменяться опытом и знаниями с интересными и копающими людьми — это гуд. А когда требует неизвестно кто. С какой стати?
Ынвестор, а с какой стати нет?  Если для написания этих 20-30 срок нужно прикладывать усилия, то явно есть чему поучиться. Поэтому лучше выложить, авось, кто чего полезное подскажет. Чего тут скрывать, мне совершенно не понятно. Никакого ноу-хау тут нет. Вон человек выложил код https://smart-lab.ru/blog/617429.php я ему пояснил, что не так и пулреквест добавил. Так гораздо практичнее. Я понимаю, когда люди реально какие-то не тривиальные вещи делают и код скрывают.
avatar
Михаил, ну вот чего-то под свои задачи не нашел опен сорса. Видимо не совсем тривиально. Если честно, я а… ваю. Выкладывание сорсов — это исключительно добрая воля автора. Какого хера от него это ТРЕБОВАТЬ? 
Ынвестор, и я под свои задачи не нашел решения — дело не в нетривиальности, а просто запросы у большинство очень специфичные, можно сказать личные. Я вроде не требовал раскрытия. На мой взгляд, скрывать достаточно странно — гораздо больше шансов получить полезный фитбек, когда исходники видны. 
avatar
avatar
Михаил, в другом топике ответил. MDB. Все монетизируется. Поэтому фри продукты так и пишутся что в продакшн их хрен в таком виде засунешь.  Глюк на глюке.
Ынвестор, послушайте Radio-T там Umputun регулярно раскатывает, как отлично MongoDB работает под серьезной нагрузкой — он анализирует все сделки на бирже в США на фрод для регулирующих органов и запускает ее сам. Естественно есть платный сервис от самой Mongo с работающими инстансами, для тех кому это нужно.
avatar
Михаил, вот такое применение идеально. Если чего навернется то ничего страшного в принципе не случится. Не знаю как сейчас а в ранних версиях это чудо не писало нормально логирование на диск. И вполне реально можно было получить неконсистентность базы. Если у вас там реальные данные а не мониторинг фрода до вам пипец.
Ынвестор, конечно ничего страшного не случится, только в SEC к тебе быстро прискачет и отмазки про база упала его мало волнуют, а потом регрессионные иски от клиентов прийдут.
avatar
Михаил, я уверен что вы не знаете всей кухни.  В банке если грохнется мониторинг фрода то вы об этом даже не узнаете. Сравните если грохнется база АБС. Или интернет банка. В любом случае мы совсем удалились от темы. Я вам показал, что на бесплатных продуктах со своими 20-30 тысячами кода компании становятся мультимиллиардными. Зачем спорить с очевидным? Если вам интересна тематика — просто напишите автору в личку. Я почти не сомневаюсь что с опытным программистом он поделится кодами (это было бы логично). 
Ынвестор, кухня вполне прозрачно раскрыта — серьезные клиенты, серьезные регуляторные требования и проверки + SEC с уголовными делами. Возможно, когда-то у Mongo были проблемы, но уже давно это зрелое решение для продакшена, которое может переваривать большие объемы данных. Благодаря чему MongoDB стала самой распространенная документной базой. Запись на диск и журналирование регулирует с помощью write concern. Настройки по умолчанию не всех устраивают, но они описаны в документации. Исходники доступны, компания пытается жить за счет сервиса + платежи с субсервиса (облачные компании предоставляющие инстансы с MongoDB должны платить Mongo).

Тема расчета беты с помощью Pandas не сильно интересует, чтобы писать об этом в личку. Если бы код был виден без лишних движений, я бы глянул и может чего подсказал, как в посте выше. Но автор прозрачно написал, что для него это просто пиар ничего полезного получить или дать читателю он не хочет. 
avatar

Михаил, 

Но автор прозрачно написал, что для него это просто пиар ничего полезного получить или дать читателю он не хочет.

Ну зачем же передергивать, я не только это написал. И советов не спрашивал, указав где их по программированию можно найти существенно больше.

А вот Вы вижу, массу времени потратили на демагогию и «коммунистические лозунги», а если и вправду было бы интересно, то написали мне в личку, как это сделало 5 человек. Вот Вам и ответ на все ваши коменты...

И Вы много о пользе старались написать, а сами так бесполезно тратили время на коменты к данному посту… Или то же извлекли таким образом свою PR пользу?

Алексей Бачеров, ну у меня тут тоже в личке беседа потенциально полезная завязалась. Я выше написал, что расчёт беты с помощью pandas мне не сильно интересен, но если бы код был, то мне не сложно прокомментировать или добавить пулреквест. И мне несколько забавно, когда такого уровня код скрывают и дают доступ через личку. 
avatar
Михаил, ну вот я и говорю, что Вы тоже преследовали другие интересы 😉, так усиленно комментируя мой пост
Алексей Бачеров, это случайно получилось. Я действительно считаю, что от раскрытия кода больше пользы, и только реальное ноу-хау имеет смысл скрывать, да и то не факт. 
avatar
Михаил, случайно, значит случайно…
Михаил, Вот вы работали раньше на работе?
а почему бесплатно не отдаете результаты своего труда хозяину бизнеса?
требуете зарплату?

Может и сейчас работаете?

Отдавать результаты своего труда за так это нужно достичь определенного уровня маслоу.
Проехали с утра на тесле до пляжа. (можно не до личного)
Искупались.
Пока не жарко.
Посмотрели что вам никогда не придется работать за деньги.

И выложили часть своего труда бесплатно.


Все находятся на разных уровнях маслоу.
А в рф половина взрослых(>18 лет) людей обладает собсвенностью на $2700 или меньше.
(сильно б/у отечественный авто максимум)
Буквально они нищие.
avatar
Антон Б, 
Это очередной обнулившийся клоун
https://sbis.ru/contragents/7715954047/771501001

Зашквареный ранее работой с МФО
https://sbis.ru/contragents/7715961887/771501001
avatar
Михаил,
1) строка текста может стоить миллиард долларов.
 с закрытым ключом к кошельку накамото от битка.

2) за строку формул получают нобелевки
тот-же e=mc2

3) это может быть просто демонстрация квалификации для своего работодателя, текущего или будущего.
даже если ничего инновационного, с точки зрения науки нет.
(дипломная работа)
avatar
Алексей Бачеров,
Правильно.
Это Ваш труд, и ваша квалификация.
Если вы будете отдавать свой труд за так, то ваш работодатель подумает что слишком много вам платит.
avatar
Антон Б, некоторые строчки кода может и стоят много и являются активом, но не расчет беты с помощью Pandas. Гораздо чаще хорошим ативом является открытый код на GitHub, который прозрачно показывает, что реально человек умеет.  
avatar
Михаил, 
Это очередной обнулившийся клоун
https://sbis.ru/contragents/7715954047/771501001

Зашквареный ранее работой с МФО
https://sbis.ru/contragents/7715961887/771501001
avatar
Python -штука увлекательная. Каким интерпретатором пользуетесь и получается ли грузить котировки с финама? 

Врач-бондиатОр, для Windows скачал с офф сайта, а на Linux дома встроенный. Удобно, я в облако храню исходники с кодами, и прописал в программах относительные пути к функциям. Поэтому запускается в любом месте, где есть питон. 

Пока котировки грузятся в CSV фалы откуда забираются программой, сейчас хочу сделать базу данных на SQL — это следующий этап.

Алексей Бачеров, вот код качает сразу с мос биржи.

import requests<br />import apimoex<br />import pandas as pd<br />import pathlib<br />from datetime import datetime, date<br /><br />board = 'TQTF'<br /><br />#Открываем файл с тикерами<br />with open("C:/PYEX/TICK.txt", "r") as TICKs:<br />    TICKs = [line.rstrip() for line in TICKs]<br /><br />#Дату лучше не менять иначе ошибка в последнем цикле<br />DATE = date(2013, 1, 1)<br />i=0<br /><br />#Создание основного фрейма и заполнение первой колонки сквозной датой<br />maindate = pd.DataFrame()<br />datei = datetime.toordinal(DATE)<br />for datei in range(datetime.toordinal(DATE), datetime.toordinal(datetime.now())):<br />    maindate = maindate.append({'TRADEDATE':datei}, ignore_index=True)<br /><br />#Скачивание котировок и заполнение фрейма<br />process = 0<br />for TICK in TICKs:<br />    process = process + 1<br />    print((process / len(TICKs))*100,' %') #Прогресс выполнения<br />    data = apimoex.get_board_history(requests.Session(), TICK, board=board) #Получение данных с биржи<br />    if data == []: #Пропуск если по данному тикеру нет данных<br />        continue<br />    df = pd.DataFrame(data) #Перенос данных с биржи во фрейм<br />    maindate[TICK] = None #На всякий случай предварительно создаем столбик тикера и заполняем пустыми значениями<br />    j=0<br />    for i in range(0,datetime.toordinal(datetime.now())-datetime.toordinal(DATE)): #Пробег по датам основного фрейма<br />        if maindate['TRADEDATE'][i] == datetime.toordinal(datetime.strptime(df['TRADEDATE'][j], '%Y-%m-%d')): #Если дата основного фрейма и базы с биржи совпадают, то в столбик тикера записывается цена закрытия<br />            maindate.loc[maindate.TRADEDATE == maindate['TRADEDATE'][i], TICK] = df['CLOSE'][j] #Собственно запись цены закрытия в строчку совпадения столбик тикера<br />            j=j+1<br />            if j == (len(df.index)-1): #чтобы не выходить за размер данных с биржи в случае если инструмент до наших дней не дожил<br />                break<br /><br /><br />#запись базы в эксель<br />pathlib.Path("C:/PYEX/Database").mkdir(parents=True, exist_ok=True)<br />maindate.to_excel("C:/PYEX/Database/{}.xlsx".format(board), index=False)
Михаил Titov, О! Спасибо большое. Посмотрю как работает.
прочел: «доходность активов и функция Бога» — пора завязывать с игрушками :))
avatar
что такое функция Богла?
avatar
d_d, это индикатор, который позволяет сравнить в какие периоды времени актив был лучше а какие хуже базового актива или бенчмарка. Очень удобная визуализация сравнения. 
Исходников нет, смотреть нечего. Минус поставить тоже нельзя. Скука. 
avatar
v_0ver, 
Это очередной обнулившийся клоун
https://sbis.ru/contragents/7715954047/771501001

Зашквареный ранее работой с МФО
https://sbis.ru/contragents/7715961887/771501001
avatar
Забавно. А я, пока учу питон на самоизоляции, написал скрипт, который наполняет sql базу полной историей цены опциона по конкретному активу, а так же в момент времени даёт срез цен по всем датам экспирации по нужному страйку. А то не охота по доске опционов самостоятельно искать, что дешевле купить.
avatar
d3vSDK, а история откуда?
Ынвестор, агрегирует доски опционов с сайта мосбиржи. Брокер договором запрещает брать эти данные из квика.
avatar
d3vSDK, у мосбиржи есть история по опционам? На Америке это очень больших бабок стоит
Ынвестор, нет, в том то и дело. Вернее, там есть что-то с похожим названием, но чтобы это скачать, нужен пароль. Причём, не тот, с которым логинишься на сайт мосбиржи.
Поэтому я сделал сервер, который работает в облаке и без моего участия наполняет базу историей цен.
avatar
d3vSDK, я ничего не понимаю. Откуда брать историю? Или ежедневную закачку вы называете историей?
Ынвестор, да, верно, так будет точнее. Сохранение цен с шагом в 30 минут.
avatar
d3vSDK, ок теперь понял. Да, это гимор.
Ынвестор, 👍
avatar
Правильной дорогой идете. Халявщикам ваши исходники без надобности. А кто свое чего то пилит, то с тем можно и поделиться опытом. При взаимном интересе.
Ынвестор, согласен с Вами. Тоже не понимаю, почему некоторые считают, что нужно просто так делиться кодом. Если для друзей, или при взаимовыгодном сотрудничестве, то есть о чем говорить. В конце концов, кому интересно всегда лично напишет.
Алексей Бачеров, постил тут тулзу для отчетов в налоговую. В итоге мало кому это вообще здесь надо оказалось, зато тоже умники нарисовались — код выкладывай. 
Ынвестор, 
Это очередной обнулившийся клоун
https://sbis.ru/contragents/7715954047/771501001

Зашквареный ранее работой с МФО
https://sbis.ru/contragents/7715961887/771501001
avatar
пишут: «то и писать не надо было» только на форумах русских

невдомёк недальновидным: для начала нормально
дабы застолбить свой приоритет

зато токсичные не пишут что сделают увидев код
и предвижу: видя код никто ничего не сделает

лично мне код питон НЕнужен
я лучше реализую в эксцель excel

Логарифм Интегралович, отлично сформулировано.

Ещё уверен, что вместо того, чтобы смотреть, что считает калькулятор пойдет длинный и в целом бестолковый разговор, как лучше оптимизировать код. Как-будто это было основной задачей.

предпочитаю эксцель ведь любой график
в эксцель легко добавить за минуту

моя тема с ютюбом в избранном у 60 здешних:

Учу EXCEL за 6 минут
Логарифм Интегралович, электронные таблицы — отличная вещь, сам часто и много пользуюсь. Но они неудобны для обработки больших массивов данных, и функционал слабоват, когда дело касается моделирования различных нестандартных статистических распределений. Конечно, если использовать VB, то дело лучше, но мне проще написать прогу. В основном я это делаю на Matlab, а питон начал изучать на самоизоляции.

Изучая язык создали бы тему этюдов
программ и у меня есть темы:

Учим C# Windows Forms зная Basic
Учим C# зная basic


а я пока посмотрю список 20+ программистов
плюсанувших комментарий в начале

 

Логарифм Интегралович, у меня иные цели. Прежде всего я пишу софт для себя, сам пользуюсь.

Например, в общем доступе есть мой Инвестиционный биллютень, но разобраться в нем без подготовки вряд ли получится, хотя там есть большой блок с пояснениями и примерами. Однако это мой полноценный рабочий инструмент на основании которого я принимаю собственные инвестиционные решения и управляю деньгами клиентов.

Логарифм Интегралыч, 
Это очередной обнулившийся клоун
https://sbis.ru/contragents/7715954047/771501001

Зашквареный ранее работой с МФО
https://sbis.ru/contragents/7715961887/771501001
avatar
Такое ощущение, что распечатка на матричном принтере, ничего не видно
avatar
Goreloff, да, обратил тоже внимание. Возможно это связано с тем, что я эти скрины со своего телеграмм канала выгрузил, куда запостил раньше, а оригиналы уже удалил.
Goreloff, 
Это очередной обнулившийся клоун
https://sbis.ru/contragents/7715954047/771501001

Зашквареный ранее работой с МФО
https://sbis.ru/contragents/7715961887/771501001
avatar

“Я сделяль” – мем с зеленым существом, которое с грустным лицом держит круглые предметы и говорит, что “сделяль” их. Часть комикса про желчный пузырь, который “сделал” камни и хвастается этим. Используется, чтобы показать, что человек сделал что-то бесполезное.
© https://memepedia.ru/ya-sdelyal/
Дмитрий Овчинников, 
это вполне себе квалифицированный труд экономического анализа.
пример его сайт ib.ab-trust.ru/

Автор скорее всего риск-менеджер в банке или фонде.

avatar
Антон Б, 
у любой публикации, достойной внимания, должна быть структура.

Структура публикации должна содержать, как минимум:
-введение (обоснование, актуальность, цели)
-методы, модели, проблемы, решения
-результаты
-выводы

Вместо этого каша в стиле «Мели Емеля». Какой уж там фонд :(
Дмитрий Овчинников, 
Это очередной обнулившийся клоун
https://sbis.ru/contragents/7715954047/771501001

Зашквареный ранее работой с МФО
https://sbis.ru/contragents/7715961887/771501001
avatar
Антон Б, 
Это очередной обнулившийся клоун
https://sbis.ru/contragents/7715954047/771501001

Зашквареный ранее работой с МФО
https://sbis.ru/contragents/7715961887/771501001
avatar
дочегож примитивная задача

приведенная цена закрытия=приведенная цена закрытия + (close-close[i-1])/close

т.е цену сводим к относительным приращениям
затем считаем по активам и сравниваем
avatar
Это очередной обнулившийся клоун
https://sbis.ru/contragents/7715954047/771501001

Зашквареный ранее работой с МФО
https://sbis.ru/contragents/7715961887/771501001
avatar
rerok, 
Это очередной обнулившийся клоун
https://sbis.ru/contragents/7715954047/771501001

Зашквареный ранее работой с МФО
https://sbis.ru/contragents/7715961887/771501001
avatar
КЕН — Игорь, ты и сюда добрался? :) и не лень тебе копипастить :) У Андрея Верникова на канале мало?

Ты и вправду превратился в одержимого хейтера. Ничуть не лучше, Ильи Коровина. Вот не понимаю я, что тебе приносит распространение заведомо ложной информации. Что лично ты выигрываешь от этого?

Но отдам тебе должное, ты хотя бы начал публиковать ссылки на две компании. Скоро ещё на моё ИП начнешь, надеюсь. И к тому же про зашквар на МФО — тоже новенькое.

Вот только ничего секретного в этом нет. Я и сам рассказываю, что было у меня МФО, и магазин ювелирный, и много другого. И тебе я рассказывал. А вот про обнуление — это совсем уже выдумки.

Ну да Бог тебе судья, и долгих лет жизни!

теги блога Алексей Бачеров

....все тэги



UPDONW
Новый дизайн