可视化部分
《量化交易》阿布@著 笔记
Matplotlib seaborn
# 子图
plt.subplots(nrows=2,ncols=2,figsize(14,10))
# 蜡烛图
from mpl_finance import mpl_finance as mpf
import matplotlib.pyplot as plt
import matplotlib.dates as dates
from abupy import ABuSymbolPd
tsla_df=ABuSymbolPd.make_kl_df('usTSLA',n_folds=2)
tsla_part_df=tsla_df[:30]
fig,ax=plt.subplots(figsize=(14,7))
qutotes=[]
for index,(d,o,c,h,l) in enumerate(zip(tsla_part_df.index,tsla_part_df.open,tsla_part_df.close,
tsla_part_df.high,tsla_part_df.low)):
d=dates.date2num(d)
val=(d,o,c,h,l)
qutotes.append(val)
mpf.candlestick_ochl(ax,qutotes,width=0.6,colorup='red',colordown='green')
ax.autoscale_view()
ax.xaxis_date()
for label in ax.get_xticklabels():
label.set_rotation(90)
label.set_horizontalalignment('right')
plt.show()
Bokeh
https://blog.csdn.net/tichimi3375/article/details/82458845
使用pandas可视化数据
# 收益与波动情况
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.dates as dates
import pandas as pd
from abupy import ABuSymbolPd
tsla_df=ABuSymbolPd.make_kl_df('usTSLA',n_folds=2)
tsla_df_copy=tsla_df.copy()
tsla_df_copy['return']=np.log(tsla_df['close']/tsla_df['close']).shift(1)
# tsla_df_copy['mov_std']=pd.rolling_std(tsla_df_copy['return'],window=20,center=False)*np.sqrt(20)
tsla_df_copy['mov_std']=tsla_df_copy['return'].rolling(20).std()*np.sqrt(20)
tsla_df_copy['std_ewm']=tsla_df_copy['return'].ewm(span=20,min_periods=20,adjust=True).std()*np.sqrt(20)
tsla_df_copy[['close','mov_std','std_ewm','return']].plot(subplots=True,grid=True)
plt.show()
均线绘制
import matplotlib.pyplot as plt
from abupy import ABuSymbolPd
tsla_df=ABuSymbolPd.make_kl_df('usTSLA',n_folds=2)
ts