Постов с тегом "Python": 230

Python


Питон. Помогите #1

Парни питонисты, привет.

Совсем не с руки мне ковырять пока, может знаете быстрый ответ.
Вопрос простой: как в pandas DataFrame изящно вставить строки с пропущенным временем?

Подробнее.

1) Делал код на скорую руку, а он взял и прижился. Ну понятно, рынок такой.
2) Качаю с помощью apimoex свечи со срочки через сервис iss moex
3) Естественно с такой ликвидностью есть пропуски в свечах
4) Если есть пропуск, я подставляю данные с предыдущей свечи

Выглядит мой алго вот так
Питон. Помогите #1
Естественно эта лажа долго работает. Верю, что силами pandas можно решить это быстрее и элегантней.
Может кто подскажет? Заранее спасибо.


Вокруг да около дельтахеджирования (перевод в виде Jupyter Notebook, части 2 и 3)

    • 17 июля 2022, 21:25
    • |
    • tashik
  • Еще
Закончила перевод еще двух серий статьи Марка Джеймисона «Как дельтахеджировать опционы»

Часть 2 (у автора часть 4): Погрешность хеджирования и частота рехеджей

Часть 3 (у автора часть 5): По какой волатильности считать дельту для рехеджа (по мотивам статьи П.Вилмотта про «Бесплатный обед», ссылка на мой перевод которой есть у меня в блоге) 

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

Марк Джеймисон в оригинале на Medium

Как легко и просто обыграть рынок. Momentum and Portfolio Optimization.

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

И так,
  • Возмем 500 бумаг которые на данный момент находятся в индексе snp500.
  • Каждый месяц будем отбирать 10 бумаг по принципу силы импульса за последний год. Имеется ввиду процентное изменение.
  • Вторая стратегия будем отбирать 10 бумаг, но импульс будем считать как разницу цены и скользящей стредней с периодом 252.
  • Ребалансировка портфеля через каждые 22 дня.
  • Только лонг.
Протестируем за 10 лет начиная с 2005, и получим вот такой прекрасный результат: 
Как легко и просто обыграть рынок. Momentum and Portfolio Optimization.


Общая доходность в 10 раз выше индекса, годовая в 5. Однако видим что и просадка у нас повыше. 

Но мы же все делаем на питоне, где полно всяких полезных пакетов. Воспользуемся библиотекой PyPortfolioOpt, и добавим попробуем эти же две стратегии с импользованием следующих методов оптимизации портфелей: CLA, HRP, CVaR, DVaR


( Читать дальше )

Python и МЫ

Python и МЫ
Python и МЫ


Данная тема развивает темы: Учим C# зная basic
Учу EXCEL за 6 минут в избранном у около 70 здешних
Учим c# windows forms зная basic
и наверняка подходит под форум Торговые роботы

Сейчас цель показать: посмотрев случайные видео уроки Python
легко и просто научиться программировать хоть что-то
и читать чужие программы и для начала проверять программы онлайн

Список программ ведёт в онлайн компилятор
QUAD rextester.com/IKMBI48397
FIBR rextester.com/FEEJ49204
SORT rextester.com/ZQSY77323
QUA rextester.com/OJN42859
+ qb64 Рюкзак 0-1 Knapsack 0-1

QUAD угадывает 1 из квадрилиона 10^15 за логарифмические шаги
и повторяет мои давнишние программы на qbasic & qb64 & C#

import random # QUAD rextester.com/IKMBI48397
h1, h2, t, f = 0, 10**15, 0, 0
c = random.randrange(0,h2) #comp
h = random.randrange(0,h2) #human
while f<1:
    print(t,c,h)
    if h<c:
        print('БОЛЬШЕ')
        a=h
        h=int((h+h2)/2)
        h1=a
    elif h>c:
        print('меньше')
        a=h
        h=int((h1+h)/2)
        h2=a
    else:
        print('угадано за', t, 'шагов')
        f=1
    t=t+1


( Читать дальше )

Как ускорить python в 2000 раз, или как расчитывать максимальный дродаун со скоростью света :) (python, c++, cuda)

Смотрю некоторые люди интересуются темой как же скрестить питон и с++.

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



( Читать дальше )

Моделирование стратегий на Python. С чего начинать.

    • 11 февраля 2022, 19:13
    • |
    • 3Qu
  • Еще
В предыдущей теме слегка неосторожно обмолвился, что помогу желающим начать программировать на Python. Таковых желающих уже оказалось несколько человек. И выбор — либо отвечать всем по очереди и, с вариациями, почти одно и тоже, либо написать топик, почти очевиден — написать топик и ответить всем разом. Кроме того, есть вероятность, что меня дополнят и поправят.

Итак, чтобы начать работать с Python, надо установить среду Python. Для совсем начинающих я рекомендую Anaconda. В Anaconda все в одном флаконе — большинство необходимых модулей, среды разработки, документация — вам ни с чем не придется заморачиваться, сиди работай и ни о чем не беспокойся. Из сред разработки я предпочитаю Spyder — он уже изначально входит в комплект поставки Anaconda, и вам опять ни о чем беспокоиться не надо. Многие предпочитают другие среды разработки, но это их выбор.
Более продвинутые могут установить Miniconda, что я и делаю на данном этапе. Начинать и даже продолжать со среды Python я бы не советовал, но это, опять таки, мое личное мнение. Можно я больше не буду после каждой фразы писать ИМХО — ИМХО, это очевидно, а чье же еще это мнение.)

( Читать дальше )

Моделирование интрадей стратегии на Python. Результаты

    • 10 февраля 2022, 22:31
    • |
    • 3Qu
  • Еще
Я уже писал, что ухожу из трейдинга временно или постоянно, пока не решу вопросы  его прибыльности и окупаемости. Не хочу, знаете ли, работать и получать за работу ниже чем то, что, мне кажется приемлемым. Лучше на диване лежать.)) Об этом я подробно писал в топиках - Жив ли трейдинг? и Объявление об уходе. В общем, чтобы вернуться к трейдингу надо решить ряд описанных в топиках проблем, чем и занимаюсь — моделирую стратегии на Python в поисках приемлемого решения.
Поднял свои уже старые нереализованные модели стратегий на Python, загружаю в них различные биржевые инструменты, и смотрю, можно ли, выгодно ли, и имеет ли смысл с ними реально работать.
Итак, представляю вам первую нереализованную интрадей стратегию на Python — ее тест на 1-м фьючерсе Si-3.22 c 15.12.21 по 09.02.22 включительно.
Моделирование интрадей стратегии на Python. Результаты
по Х -номер сделки, по У — накопленная прибыль в пунктах инструмента. 1 п = 1 рубь.

( Читать дальше )

Прямая пропаганда Python.

    • 10 февраля 2022, 17:01
    • |
    • 3Qu
  • Еще
Спрашивал многих — на чем вы моделируете и отрабатываете стратегии? Ответы — Луа, С #, Delphi, C++, Java, php и пр.  Хорошие языки, спору нет. Но хороши они для релиза. И лишь немногие при моделировании стратегий работают с Python.
Чем хорош Python?.. Это простота изучения — с нуля можно начать за считанные дни. Это громадные библиотеки — математические, машинное обучения, преобразования, работа с векторами и сложной графикой. Это простота моделирования — слабать стратегию можно за вечер.
Да, когда придет время релиза, придется все это переписывать на другой язык, но библиотеки можно оставить из Python — они оч быстрые, написаны на С++. Интерфейсы ко многим языкам имеются.
Для проверки ваших рыночных гипотез и моделирования стратегий переходите на Python. Чем могу, помогу. Но не обучаю, для этого книги есть- ничего сложного. По книгам и среде посоветую, для начала.

PS. Так, для справки, если покопаетесь в инете, то увидите, что NASA уже почти все пишет и моделирует на Python, и уже потом критические участки кода переводит на С++.

Парсинг финансовых данных на Python

Собственно вопрос в следующем: есть какие-нибудь библиотеки на Python, через которые можно относительно безгеморройно парсить данные из годовой финансовой отчётности эмитентов (подразумевается — США)? Интересует возможность относительно легко и просто получать данные по годовой выручке, операционной прибыли, обесценении и амортизации, чистой прибыли; из балансового отчёта интересует: нераспределённая прибыль, акционерный капитал на начало года, акционерный капитал на конец года.

От библиотеки требуется понимать, что я хочу получить данные именно из годового отчёта, а не за 4-й квартал отчётного финансового года. В целом, здесь не было бы проблемы, если бы абсолютно у всех эмитентов финансовый год начинался 1 января, но в США довольно много эмитентов, у которых финансовый год начинается нестандартно.

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

Я пробовал  библиотеки YahooFinancials, yfinance, api.tiingo.com.

Yfinance вроде ничего, но какая-то глючная (хотя может это просто у меня руки-крюки).



( Читать дальше )

....все тэги
UPDONW
Новый дизайн