Избранное трейдера Вельвет
Кол+Пут= ATR(Н1)*КОРЕНЬ(N)*0,5, где N количество торговых часов до экспирации.
как описано здесь smart-lab.ru/blog/474365.phpПосле всех вычислений, приведенных в этой и этой публикациях, можно углубиться в статистический анализ и рассмотреть метод наименьших квадратов. Для этой цели используется библиотека statsmodels, которая позволяет пользователям исследовать данные, оценивать статистические модели и выполнять статистические тесты. За основу были взяты эта статья и эта статья. Само описание используемой функции на английском доступно по следующей ссылке.
Сначала немного теории:
О линейной регрессии
Линейная регрессия используется в качестве прогнозирующей модели, когда предполагается линейная зависимость между зависимой переменной (переменная, которую мы пытаемся предсказать) и независимой переменной (переменная и/или переменные, используемые для предсказания).
В прошлой статье рассмотрено как можно получить информацию по финансовым инструментам. Дальше будет опубликовано несколько статей о том, что первоначально можно делать с полученными данными, как проводить анализ и составлять стратегию. Материалы составлены на основании публикаций в иностранных источниках и курсах на одной из онлайн платформ.
В этой статье будет рассмотрено, как рассчитывать доходность, волатильность и построить один из основных индикаторов.
import pandas as pd import yfinance as yf import numpy as np import matplotlib.pyplot as plt sber = yf.download('SBER.ME','2016-01-01')
Данная величина представляет собой процентное изменение стоимости акции за один торговый день. Оно не учитывает дивиденды и комиссии. Его легко рассчитать используя функцию pct_change () из пакета Pandas.
Как правило используют лог доходность, так как она позволяет лучше понять и исследовать изменения с течением времени.
# Скорректированая цена закрытия` daily_close = sber[['Adj Close']] # Дневная доходность daily_pct_change = daily_close.pct_change() # Заменить NA значения на 0 daily_pct_change.fillna(0, inplace=True) print(daily_pct_change.head()) # Дневная лог доходность daily_log_returns = np.log(daily_close.pct_change()+1) print(daily_log_returns.head())
Статья о том, как получить ежедневные исторические данные по акциям, используя yfinance, и минутные данные, используя alpha vantage.
Как вы знаете, акции относятся к очень волатильному инструменту и очень важно тщательно анализировать поведение цены, прежде чем принимать какие-либо торговые решения. Ну а сначала надо получить данные и python может помочь в этом.
Биржевые данные могут быть загружены при помощи различных пакетов. В этой статье будут рассмотрены yahoo finance и alpha vantage.
Yahoo Finance
Сначала испытаем yfianance пакет. Его можно установить при помощи команды pip install yfinance. Приведенный ниже код показывает, как получить данные для AAPL с 2016 по 2019 год и построить скорректированную цену закрытия (скорректированная цена закрытия на дивиденды и сплиты) на графике.
# Import the yfinance. If you get module not found error the run !pip install yfianance from your Jupyter notebook import yfinance as yf # Get the data for the stock AAPL data = yf.download('AAPL','2016-01-01','2019-08-01') # Import the plotting library import matplotlib.pyplot as plt %matplotlib inline # Plot the close price of the AAPL data['Adj Close'].plot() plt.show()
Прежде чем продолжить, пробежимся по теории. Как я понимаю, трейдеры пополняют наши ряды постоянно, но мои топики не читают. Так что освежим теорию для новичков.
Давайте посмотрим на рынок глазами опциона. Все знают, что рынок подчиняется закону распределения. Я бы даже сказал, Гаусовскому распределению. Но так как это понятие является ругательным в среде поклонников Талеба и меня могут побить, то просто распределению. На картинке эту выгладит так.
Я же позволю себе синтезировать движения БА глядя только на распределение.