Панды библиотека с открытым исходным кодом, предоставляющая высокопроизводительные, простые в использовании структуры данных и инструменты анализа данных для питон язык программирования. Pandas является одним из самых популярных инструментов для разработки торговой стратегии, потому что Pandas имеет широкий спектр утилит для сбора, обработки и анализа данных и т. Д.
Для количественных аналитиков, которые верят в торговлю, им нужен доступ к цене и объему акций, чтобы они могли рассчитать комбинацию технических индикаторов (например, SMA, BBP, MACD и т. Д.) Для стратегии. К счастью, такие данные доступны на многих платформах (например, IEX, Quandl через API REST. К счастью, pandas_datareader предоставляет простой и удобный API для сбора данных с этих платформ. В этой истории я расскажу, как собирать данные о запасах с помощью Pandas.
Условие: Python 3
Шаг 1: Настройка среды (виртуальная среда)
python3 -m venv tutorial-env
source ~/tutorial-env/bin/activate
pip install panda
pip install pandas_datareader
pip install matplotlib
pip install scipy
(Не забудьте активировать среду `source ~ / tutorial-env / bin / activ` или выбрать виртуальную среду в вашей IDE)
Шаг 2: Код (выборка данных и дамп в CSV-файл)
import matplotlib.pyplot as plt
import pandas_datareader.data as web
# collect data for Amazon from 2017-04-22 to 2018-04-22
start = '2017-04-22'
end = '2018-04-22'
df = web.DataReader(name='AMZN', data_source='iex', start=start, end=end)
print(df)
df.to_csv("~/workspace/{}.csv".format(symbol))
Вывод Dataframe
open high low close volume
date
2017-04-24 908.680 909.9900 903.8200 907.41 3122893
2017-04-25 907.040 909.4800 903.0000 907.62 3380639
2017-04-26 910.300 915.7490 907.5600 909.29 2608948
2017-04-27 914.390 921.8600 912.1100 918.38 5305543
2017-04-28 948.830 949.5900 924.3335 924.99 7364681
2017-05-01 927.800 954.4000 927.8000 948.23 5466544
2017-05-02 946.645 950.1000 941.4130 946.94 3848835
2017-05-03 946.000 946.0000 935.9000 941.03 3582686
2017-05-04 944.750 945.0000 934.2150 937.53 2418381
...
В этом примере соответствующий файл csv сохраняется в выходном каталоге (~ / workspace / AMZN.csv).
Шаг 3: Визуализируйте, что было собрано с помощью matplotlib
# select only close column
close = df[['close']]
# rename the column with symbole name
close = close.rename(columns={'close': symbol})
ax = close.plot(title='Amazon')
ax.set_xlabel('date')
ax.set_ylabel('close price')
ax.grid()
plt.show()
Это оно! Теперь вы загрузили данные о запасах для анализа.
Весь пример
import pandas_datareader.data as web
import matplotlib.pyplot as plt
# collect data for Amazon from 2017-04-22 to 2018-04-22
start = '2017-04-22'
end = '2018-04-22'
symbol='AMZN'
df = web.DataReader(name=symbol, data_source='iex', start=start, end=end)
df.index = df.index.to_datetime()
print(df)
df.to_csv("~/workspace/{}.csv".format(symbol))
# select only close column
close = df[['close']]
# rename the column with symbole name
close = close.rename(columns={'close': symbol})
ax = close.plot(title='Amazon')
ax.set_xlabel('date')
ax.set_ylabel('close price')
ax.grid()
plt.show()
Больше анализа данных с Пандами можно найти Вот!
И последнее, если вы чувствуете себя более комфортно с Excel и хотите легко анализировать акции, Гуан Мо имеет после о сборе данных с Intrinio Excel надстройка.
Рекомендуемое чтение:
Что на самом деле делают хедж-фонды (Канадская ссылка)
Python для анализа данных: обработка данных с помощью Pandas, NumPy и IPython (Канада Ссылка)
Мои посты:
Полное руководство по разработке стека: визуализация торговых данных на Angular SPA (1)
Как инвестиционный выбор Millennials по сравнению с Motley Fool Stock Advisor
Как я могу leetcode на 6 месяцев и получить работу в Amazon
Глубокий взгляд на то, какие технологии являются горячими для ИТ-рабочих мест в банках
Торговая стратегия: бэк-тестирование с Backtrader
Усиление обучения: введение в Q обучения
Торговая стратегия: технический анализ с Python TA-Lib
Оптимизация портфеля для минимального риска с Scipy - объяснил эффективную границу
Снижение риска путем создания портфолио
Торговля: Рассчитать индикаторы технического анализа с помощью панд 🐼