Избранное трейдера Александр

по

Исторические данные по ГО опционов на Мосбирже

Есть ли возможность вытащить ГО по опционам за определённую дату с сайта биржи?

Например, данные за текущий день публикуются здесь
www.moex.com/ru/derivatives/go.aspx

История ГО по фьючам здесь:
moex.com/ru/forts/contractbaseresults.aspx

Может имеется какой-нибудь запрос ISS Queries с iss.moex.com?
Но как его составить не знаю.


Список полезных сайтов для инвестора и аналитика

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

http://www.rusbonds.ru/ — удобный поиск облигаций

Список полезных сайтов для инвестора и аналитика

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

Как можно строить свечные графики в питоне.

Как и обещал ранее некоторым участникам, сейчас продемонстрирую код, с помощью которого можно визуализировать свечной график, данные для которого будет взят с сайта Финам. Самое прамолинейное решение — это найти какой-нибудь модуль для питона, которому скармливаются бары, а он тебе выдает, собственно, свечной график. Такие есть, но на тот момент, когда я интересовался темой, найденное меня не устроило. Например, свечной график мне нарисуют, а как на нем тот же индикатор отрисовать — уже проблема. А если надо задать какую-нибудь эдакую линию, маркер, цвет — с этим надо разбираться. Но зачем тратить на это время, если есть весьма добротный модуль для построения графиков Matplotlib, с помощью него можно сделать любой график полиграфического качества, который у тебя в любое издание примут без вопросов, если, конечно, там и смысловая составляющая на должном уровне, само собой. В общем, качаем скрипт отсюда:
yadi.sk/d/fiMn-YUtrB6aEw
если не установлено, устанавливаем python 3.5+, к нему matplotlib и numpy, запускаем скрипт и умиляемся результату))

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

Google Colab: Российский рынок - по многочисленным просьбам

В одном из предыдущих постов писал про Google Colab — бесплатный доступ к интерактивной среде Jupyter Notebook на языке Python с кучей библиотек для анализа данных (и самой популярной — Pandasобучалки-введение).
   Низкий порог входа в мир серьёзного анализа данных -тем и привлекателен этот зоопарк. Несколько строк кода и уже можно анализировать-смотреть данные (акции, облигации, фьючи, макро).

   Если вы пробовали писать скрипты в Excel, кастомные индикаторы в Мультичартсах или Метастоках, то освоить язык Python в интерактивной среде Jupyter Notebook (Google Colab — даёт бесплатный доступ) — посильное занятие.
   Для американского рынка есть библиотека (-ки), которые позволяют подкачать биржевые и экономические данные — я писал об этом. Кстати к 

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

Качаем котировки с Финама

    • 08 января 2019, 11:21
    • |
    • Albus
  • Еще
Недавно начал учить язык программирования Python. Жаль, что я к нему приступил в 36 лет, а не в 16. Он прекрасно подходит для анализа исторических данных. Выкладываю скрипт, который заходит на сайт финама, скачивает оттуда котировки акций и записывает их в файл quotes.txt. Для того, чтобы всё работало, должен быть установлен Питон https://www.python.org/.
---
В интернете есть информация, как качать котировки с Финама не вручную, а с помощью скрипта. Вот эти статьи. Ими я пользовался при написании своего кода:
Программный сбор данных о котировках
Загрузка котировок валют с сайта finam.ru
Дополнительно пришлось хорошенько поработать головой, чтобы адаптировать эту информацию для моих нужд. Там кое-что устарело и коды авторов потребовали доработки. Также в моём скрипте вы найдёте цифровые символы, которые соответствуют каждой акции. Например Алроса лежит на сайте финама под цифрой 81820.

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

Google Colab - или как перейти на новый уровень анализа (бесплатно)

Доброго времени суток уважаемые!

В этом году Google преподнёс всем отличный подарок  — открыл бесплатный сервис Google Colab.
Google Colab — это сервис где каждый (нужен акк Google, например от Gmail) может попробовать силы в машинном обучении (искусственный интеллект и другие умные слова).

Бесплатно!

Нам он интересен чем — можно заниматься стратегиями, расчётами и строить сложные графики. А ещё Google Colab не закрыт для внешнего интернета — скачиваем котировки и данные с других ресурсов.
Даже если вы очень далеки от этого — попробуйте, это просто.
Я расскажу о первых шагах.

Сам Google Colab — это интерфейс Jupyter Notebook (бывший IPython).

Задача простая — скачать котировки SPY, нарисовать график, посчитать число падений close-to-close больше 3х процентов за 7 лет.
1. Имеем акк gmail (короче google account)
2. Идём сюда: https://colab.research.google.com/notebooks/welcome.ipynb  (открывается страница приветствия)
3. File -> New Python 3 notebook
4. Само рабочее пространство (notebook) представляет из себя набор строк («ячеек» — cells) куда вводится код на языке Python, который можно выполнять (треугольник знак «воспроизведения» слева от каждой строки). Наш код будет вот такой:

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

Вопрос по ISS серверу ММВБ

Привет всем!

Хочу получить данные по свечам СБЕРа с сервера ISS ММВБ.

Кто может подсказать — что я неправильно указываю в своем запросе?

iss.moex.com/iss/engines/stock/markets/shares/boards/TQBD/securities/SBER/candles.csv?from=2015-04-04&till=2015-04-15&interval=10



Набросок конспекта лекции про оверфиттинг - полезно всем

Набросок конспекта лекции про оверфиттинг - полезно всем
Решил начать писать небольшие заметки по алгоритмической торговле и всему что с ней связано. Возможно, когда-нибудь расширю, склею и опубликую в виде книжки. Пока же это просто наброски заметок, сделанные на скорую руку.

Можно часто слышать от тех, кто торгует алгоритмически, да и просто систематически, такие понятия как «оверфиттинг», «курвафиттинг», «зафит» и прочие ругательства с корнем «фит». Что все это значит?
На самом деле, все эти слова, как правило, используются для описания одного и того же явления, являющегося врагом всех трейдеров, торгующих систематически и пытающихся оценить исторический перформанс своих торговых логик — а именно, что «живой» аут-оф-сампл перформанс на реальном счете, как правило, хуже ожиданий, полученных ими при проверке своих идей на истории. Например, при тестировании торговой логики на истории трейдер с помощью своей модели «зарабатывал» 30% годовых, а в реале может в среднем иметь 10% годовых. Разница 20% годовых — может объясняться именно оверфиттингом (если нет других факторов — например, некорректный учет комиссионных и проскальзываний, или ошибка в торговом коде; но прочие факторы легко устранить, в отличие от оверфиттинга). На картинке в начале статьи — пример перформанса некоторого фонда в бэктесте и в реальности, наглядно иллюстрирующий написанное выше.

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



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

Бесплатные тики с Мосбиржи (python3)

Наконец более-менее довел до ума код, который берет данные с информационно-статистического сервера биржи.
В предыдущей теме скрипт запрашивал некоторое количество тиков, привязанных либо к текущему моменту, либо к началу торгового дня. Сейчас я сделал так, что можно брать тики от начала заданного дня (доступны только текущий и два предыдущих рабочих) до текущего времени заданного дня. Похоже, сервер кривой и не дает за весь прошлый день получить тики. Зато, если дождаться 22:00, можно получить все что требуется за текущий день и два предыдущих.

Пока что заливаю файлы сюда, позже обновлю на гитхабе.
yadi.sk/d/ccTtLzbk3Rbtty

В общем, чтобы сохранить тики в файл, надо просто запустить скрипт iss_simple_main.py, предварительно в нем указав нужный день:
iss.get_trades_for_session( 'futures', 'forts', 'RIH8', 2 ) # доступны значения 0, 1, 2


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

#пора_граммировать [4] тики с сайта МосБиржи, ну и минутки тоже :)

Если закинуть вот такую строчку в браузер, то получим тики по SiZ7 текущей сессии
https://iss.moex.com/iss/engines/futures/markets/forts/securities/SiZ7/trades.json
— если добавить 
?start=0&limit=100
то начиная с первой сточки (номер ноль) получим только первые 100 сделок:
https://iss.moex.com/iss/engines/futures/markets/forts/securities/SiZ7/trades.json?start=0&limit=100
следующие 100 сделок:
?start=100&limit=100
Минутки получить можно так:
http://iss.moex.com/iss/engines/futures/markets/forts/boards/RFUD/securities/SiZ7/candles.json?from=2017-11-08&till=2017-11-08&interval=1&start=0
Если заменить .json --> .csv, то скачивается файл:

http://iss.moex.com/iss/engines/futures/markets/forts/boards/RFUD/securities/SiZ7/candles.json?from=2017-11-08&till=2017-11-08&interval=1&start=0
Программный пример:
using System;
using System.Net;
using System.IO;

namespace GetDataSmpl
{
    class Program
    {
        static void Main(string[] args)
        {   
            string link = "https://iss.moex.com/iss/engines/futures/markets/forts/securities/SiZ7/trades.json?start=0&limit=10";
            string dataLine; 
            int count = 0;           
            using (WebClient wc = new WebClient())
            {  
                Stream stream = wc.OpenRead(link);
                StreamReader sr = new StreamReader(stream);                
                while ((dataLine = sr.ReadLine()) != null) {
                    if (count >= 14 && count <= 23) Console.WriteLine(dataLine);
                    count +=1;
                }                        
                stream.Close();             
            }                
        }
    }
}


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

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