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

Python


Индикатор KST и другие приключения с ROC

В этот раз повторим на Python индикатор KST (Know Sure Thing), созданный Мартином Прингом. Если вы подписаны на StockCharts.com, то вы получаете платную рассылку обзоров рынка от Джона Мэрфи и Мартина Принга. Принг в своих анализах постоянно ссылается на свой индикатор KST. И у него всегда всё складно и точно совпадает.

Я же в бессонных поисках граалей решил повторить индикатор KST и провести коротенький анализ за предыдущие 14 лет.



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

Как быстро из PostgreSQL и ClickHouse получить в Python длинные истории цен

Разбил много ☕кружек в поисках решения для ️быстрого получения длинных историй цен для большого количества активов в Python. Ещё имел смелость желать работать с ценами в numpy-массивах, а лучше сразу в pandas.

Стандартные подходы в лоб работали разочаровывающе, что приводило к выполнению запроса к БД в течение 30 секунд и более. Не желая мириться, я нашёл несколько решений, которые полностью меня удовлетворили.
Как быстро из PostgreSQL и ClickHouse получить в Python длинные истории цен



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

Завершил курс по ML

Успешно прошел курс по Машинному обучению, а так же прослушал соответсвующие лекции в Школе анализа данных Яндекса. Следующая задача — реализовать на Python те расчеты, которые я сейчас выполняю в Excel. Опыт программирования близок к нулю, поэтому процесс будет небыстрым. Для начала создал репозиторий. В перспективе хочу попробовать немного модифицировать текущую торговую систему с использованием машинного обучения.


Выложил исходники торгового терминала RTS-Robot в открытый доступ.

    • 06 января 2018, 05:07
    • |
    • pmus
  • Еще

Выложил исходники торгового терминала RTS-Robot в открытый доступ.

Итак, как я и обещал, исходники торгового терминала RTS-Robot версии 1.0 выложены на GitHub!

Напоминаю, что язык программирования — Python 2.7, брокер — Финам, коннектор — Transaq XML Connector. (в том числе и Transaq HFT)

Что умеет:


  • Возможность 10-мс подключения.
  • Встроенный Python
  • Использование сколь угодно большого количества памяти системы в скриптах
  • Многопоточность и утилизация всех ядер процессора
  • API для создания сколь угодно сложных систем и их связок
  • Создание по двойному щелчку «снимков» любых таблиц в формате Excel (на память)
  • Индикатор баланса стакана
  • Экономный жор памяти (получилось порядка 150 мегабайт)
  • Нормальная работа под Linux


Выложенное решение имеет некоторые ограничения, а именно:

— Упрощенный код, многое из «планов на будущее» отключено и/или убрано.
— Торговые алгоритмы работают только с одной бумагой. (несложно доделывается.)
— Коннектор только один
— Бесплатной поддержки нет и не будет (мне работать надо!)
— Короткий документ о том, «как это всё собрать и заставить работать» если напишу, то позже
— Сайт проекта обновлю позже, сейчас нет времени заниматься.

В остальном же — это работающий торговый терминал, запускаемый как под Windows, так и под Wine.

Будьте осторожны. Нужны специальные знания и навыки профессионального программиста.



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

Новогодний подарок тем, кому он нужен - СКОРО!

    • 19 декабря 2017, 03:27
    • |
    • pmus
  • Еще
Друзья! Есть отличные новости. Я долго думал, писать или нет, но теперь готов признаться, что я в настоящий момент принял приглашение от одного очень симпатичного брокерского, инвестиционного и финансового холдинга и ныне тружусь в славном городе Санкт-Петербурге над не менее славными проектами.

Конечно, лично для меня многое изменилось: я перешел на другой уровень и смотрю на рынок как корпоративный трейдер-программист, а не как физлицо-одиночка.

Да, я продолжаю использовать Python для решения биржевых задач, что иногда ставит в тупик людей несведущих. (Как, Python же для создания веб-сайтов! Как, Python же скриптовый язык!)

Но мы-то знаем....

Нет, ребята. Python не заточен лишь только под создание веб-сайтов или скриптов, иначе его бы не включали в каждую сборку Линукса!

Я лично убедился в том, что Python дает простор для создания почти что чего угодно, за сравнительно короткое время и с огромными возможностями, особенно для обработки данных в таких организациях, как NASA, Google, CERN, IBM… (и

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

Начал изучать Python

Прочитал книжку Think Python: How to Think Like a Computer Scientist — очень понравилась: вместо сухого изложения с самого начала рассматриваются маленькие программы, которые в последующих главах дорабатываются с учетом более продвинутых концепций языка. Почти в каждой главе даются подходы, которые применяются при разработке и отладке больших по объёму программ. Даны основы data science — быстродействие различных структур данных, как организована их работа под капотом и т.д.

До прочтения написал программу строк на 200 про отслеживание диеты, которая представляла мало понятный кусок кода. После прочтения книги переписал в 100 строк.

Автор понравился, поэтому на очереди Think Complexity: Complexity Science and Computational Modeling. По планам к январю хочу поднабраться знаний и приступить к автоматизации торговой системы на  Python.


Бэктестинг: торгуем SPY по сигналам RSI(3)

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

Анализ и тесты будем проводить на Python, используем библиотеку Zipline и Quantopian.



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

#пора_граммировать [8] ... веселые картинки [1] ... как оживить чарт

 QTimer() будет вызывать функцию update() каждые 100 мс

pw = pg.plot()
timer = pg.QtCore.QTimer()
def update():
    pw.plot(x, y, clear=True)
timer.timeout.connect(update)
timer.start(100)

#учусьучить




#пора_граммировать [8] ... веселые картинки [0]

устанавливаем python 3 под свою систему, н-р Anaconda

— в меню ищем и запускаем Anaconda Prompt

Обновляем питона:
conda update conda
conda update anaconda
— добавляем рисовалку 
conda install pyqtgraph
— делаем первый чарт
import pyqtgraph as pg
from pyqtgraph.Qt import QtGui, QtCore

# объявляем тип проги
app = QtGui.QApplication([])
# объявляем базовое окно
win = pg.GraphicsWindow()
# ... и даем ему заголовок
win.setWindowTitle('Мой Окно!')

# открываем первую панель для рисования
pane = win.addPlot()

# от балды значения по 'x' и 'y'
x = [1,2,3,4,5,6,7,8,9]
y = [1,4,9,16,25,36,49,64,81]

# нарисуем в панельке
pane.plot(x,y,pen=('r'), symbol='o')



# ...три...два...один...пуск .... п.ш..ш..ш :)
app.exec_()
#пора_граммировать [8] ... веселые картинки [0]


  — ваащпе не стесняемся кликакть лкм, пкм и давить на колесо. активно возим мышь.



#учусьучить

#пора_граммировать [2] .Net setup #0

 Начало работы с C# и Visual Studio Code (на русском)

1. Выбираем .Net Core 2
2. После команды dotnet new console сравним содержание каталога и текста первой программы
 
Быстрый старт С# (eng)
 
Старт C# за 10 минут (eng)

Еще онлайн консоли (eng)

Справочник по С# (на русском)

#учусьучить

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