Избранное трейдера Sergey Pavlov

по

Бесплатные котировки американских акций и опционов через REST API

Американские брокеры постепенно приходят к осознанию, что для ритейловых алготрейдеров простое, платформо-независимое REST API куда удобнее клиентского. И, что самое интересное, некоторые брокеры дают доступ к своему HTTP API всем желающим. Я нашел двух таких брокеров: TD Ameritrade и Tradier. Оба бесплатно дают котировки акций, ETF и опционов на них с задержкой 15 минут. Если открыть брокерский счет, можно получить real-time котировки, но, насколько я знаю, ни один из этих брокеров не открывает счета россиянам.

TD Ameritrade


Что есть в API:
1. Текущие котировки акций и ETF
2. Текущие котировки опционов на акции и ETF. Одним запросом можно получить все существующие серии.
3. Исторические данные акций и ETF. Количество данных зависит от периода, например, минутками можно получить только последние две недели, в том время как 15-минутками доступны последние полгода и т.д.
4. Поиск инструментов. Здесь еще можно получить мультипликаторы компании и данные о предыдущих и предстоящих дивидендах.

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

Библиотека С++ для загрузки экономических новостей

Есть один хороший сайт www.investing.com с экономическими новостями, которым пользуются многие трейдеры на Форексе. И решил я как-то раз попробовать посмотреть, что будет на бэктестинге торговли по новостям. Поковырявшись в страничке экономического календаря сделал в итоге С++ библиотеку для загрузки новостей. Для http запросов библиотека использует curl. Новости загружаются по UTC времени, загрузить их можно со времен начала эпохи UNIX

Класс для хранения одной новости:
/** \brief Класс Новостей
*/
class News
{
public:
	std::string name;          /**< Имя новости */
	std::string currency;      /**< Валюта новости */
	std::string country;       /**< Страна новости */
	int level_volatility = -1; /**< Уровень волатильности (-1 не инициализировано,  низкий уровень = 0, средний 1, высокий 2) */
	double previous;           /**< Предыдущее значение */
	double actual;             /**< Актуальное значение */
	double forecast;           /**< Предсказанное значение */
	bool is_previous = false;  /**< Наличие предыдущего значения */
	bool is_actual = false;    /**< Наличие актуального значения */
	bool is_forecast = false;  /**< Наличие предсказанного значения */
	uint64_t timestamp = 0;    /**< Метка времени новости */

	News() {};
};
Для хранения массива исторических данных новостей используется библиотека 

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

Упрощенный алгоритм индикатора zigzag

в дальнейшем в него встрою сигналы и наклонные уровни

Упрощенный алгоритм индикатора zigzag

--[[
параметры: 
Procent - процент зигзага 
--]]
Settings={
Name="ZIGZAGPROF",
Procent=1,
    line=                                     
                {  
					{  
                        Name = "cur1",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(0,0, 0)
                    }				
                }
}

function Init()
  
  y1 = nil
  y2 = nil
  x1 = 1
  x2 = 1
    
  return 1
  
end

function OnCalculate(index)

  de = Settings.Procent

  vl = C(index)
  if index == 1 then 
	y1 = vl
    y2 = vl
  else   
	  if C(index) > y1*(1+de/100) and y1 < y2 then 
	    x2 = x1
	    y2 = y1	
	    x1 = index 
	    y1 = C(index)	        
	  end 	
	  if C(index) > y1 and C(index) > y2 then 
	    x1 = index 
	    y1 = C(index)	  			  
	  end 
	  	  		
	  if C(index) < y1*(1-de/100) and y1 > y2 then 
	    x2 = x1
	    y2 = y1
	    x1 = index 
	    y1 = C(index)	  		
	  end 	
	  if C(index) < y1 and C(index) < y2 then 
	    x1 = index 
	    y1 = C(index)	  			  
	  end 	  	  		
	end 	
  
  if x1 ~= index then 
    curfrom = x1
	curto = index
  else 
    curfrom = x2
	curto = x1
  end 
 
  if curto ~= curfrom and curfrom ~= nil and curto ~= nil then 
    if C(curto) ~= nil and C(curfrom) ~= nil then 
      k = (C(curto)- C(curfrom))/(curto- curfrom)  
      for i = curfrom, index  do
        curv = i*k + C(curto) - curto*k  		          
	    SetValue(i, 1, curv)
      end   	
	end 
  end 
  
  return vl
 
  
end


 

 
  • обсудить на форуме:
  • Quik Lua

Раздаю x64 lua библиотеки для Quik8

    • 15 июля 2019, 10:06
    • |
    • П М
  • Еще
В рамках добра. 
Для тех кто любит плюшки на lua.
Пересобрал либины w32.dll и ffi.dll для Квика v8.0
ffi проверил на прилагаемом к ней тесте — работает, w32.dll не проверял, сами скажите если что не так.

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

Исходный код w32.dll не менялся вообще, у ffi я внёс минимальные изменения в заголовочный файл чтобы всё собралось.
Возможны некоторые косяки с изменением размера данных в w32.dll, ранее я ей никогда не пользовался. Проверяйте.
хотя судя по этой теме, проблем скорей всего вообще не будет, обрезать данные можно:
https://stackoverflow.com/questions/1822667/how-can-i-share-hwnd-between-32-and-64-bit-applications-in-win-x64

Исходники брал с гита.
ссылки:
ffi - 
www.dropbox.com/s/mqtpqyhi4b35lcq/ffi.dll?dl=1

w32 -
www.dropbox.com/s/1b6kb98uiad7pnc/w32.dll?dl=1
ps: собирал на windows 10, на более ранних скорее всего не взлетит у вас.
  • обсудить на форуме:
  • Quik Lua

О применимости АКФ в анализе временных рядов на примере акций ПАО Сбербанк


      В свете интереса к моим работам в области оценки рисков нестационарных объектов со стороны опционов и возникшего вопроса о применимости к анализу финансовых временных рядов методов классического статистического анализа проведём маленький численный эксперимент:

  • Оценим АКФ акций ПАО Сбербанк за последние 8 лет :

О применимости АКФ в анализе временных рядов на примере акций ПАО Сбербанк
Рис. 1. Тест Дики-Фуллера и автокорреляционная функция логарифмических приращений цен акций ПАО Сбербанк.


Как видно из теста, никаких трендов (англ. тенденций, закономерностей) на акциях Сбербанка классической математической статистикой не обнаружено и все АК коэффициенты лежат в пределе статистической погрешности при измерении нуля.


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

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

Расставляем точки над IV и HV, считаем на R, для новичков

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

Что такое Implied Volatility (IV)?


Для вычисления цены опциона, обычно используют формулу БШ, которая принимает следующие параметры:

OptionPrice = Vbs(S, t, sigma, r, K, T)

Но на рынке, опционы уже торгуются по неким ценам. Одни продают, другие покупают. Если взять цену опциона с рынка и вычислить волатильность, которую подставив в формулу БШ, мы сможем получить рыночную цену опциона — это и будет подразумеваемая волатильность или Implied Volatility.

Вычисляем IV


Решить уравнение БШ и вывести из него sigma — не простая задача. Скорее всего, даже не возможная, по-этому решается оно методом перебора Ньютона-Рафсона.

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

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

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

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

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

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

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

Лирическое отступление #1 (Грааль #2)

Доброй ночи, коллеги!

Как же достало за последние 3 года читать многочисленные посты на тему «у кого толще?». Это про бакс и рубль, если что. Лично я считаю, что на долгосроке толще у золота, что не помешает ему упасть в 2 раза с текущих отметок.

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

Т.е. (на примере долгосранногожданного рубля) умножаем текущий курс на (1+ставка ЦБ/365) и делим на (1+ставка ФРС/365). И так для каждого последующего дня.
Тех, кто потрудится изготовить такой график с 1995 ждет успех.
Волновиков ждет отдельный успех.

Я картинки и таблички выкладывать не умею — мои извинения всему community...

С уважением

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