数据分析day02

案例

需求:双均线策略制定

1.使用tushare包获取某股票的历史行情数据
2.计算该股票历史数据的5日均线和30日均线
      - 什么是均线?
            - 对于每一个交易日,都可以计算出前N天的移动平均值,然后把这些移动平均值连起来,成为一个条线,就叫做N日移动平均线。移动平均线常用线有5天,10天,30天,60天,120天和240天的指标
            - 5天和10天的是短线操作的参照指标,称做日均线指标
            - 30天和60天的是中期均线指标,称做季均线指标
            - 120天和240天的是长期均线指标,称做年均线指标
      - 均线计算方法:MA=(C1+C2+C3+...+Cn)/N C:某日收盘价  N:移动平均周期(天数)

df = ts.get_k_data(code='000001', start='1900-01')
df.to_csv('pingan.csv')
df = pd.read_csv('pingan.csv')
df.head()
df.drop(labels='Unnamed: 0', axis=1, inplace=True) # inplace参数表示删除时原数据会被删除,1表示列,0表示行
df['date'] = pd.to_datetime(df['date'])  # 将时间的object类型转换为时间类型
df.set_index('date',inplace=True)   #设置date为行索引
ma5 = df['close'].rolling(5).mean()  #rolling可以把每个前5日的数据显示出来 ,mean求均值
ma30 = df['close'].rolling(30).mean()#rolling可以把每个前30日的数据显示出来 ,mean求均值
import matplotlib.pyplot as plt
plt.plot(ma5[50:200])  # 显示图形化数据
plt.plot(ma30[50:200])


3.分析输出所有金叉日期和死叉日期
      - 股票分析技术中的金叉和死叉,可以简单解释为:
            - 分析指标中的两根线,一根为短时间内的指标线,另一根为较长时间的指标线。
            - 如果短时间的指标线方向拐头向上,并且穿过了较长时间的指标线,这种状态叫“金叉”
            - 如果短时间的指标线方向拐头向下,并且穿过了较长时间的指标线,这种状态叫"死叉"
            - 一般情况下,出现金叉后,操作趋向买入;死叉则趋向卖出。当然,金叉和死叉只是分析指标之一,要和其它很多指标配合使用,才能增加操作的准确性。
s1 = ma5 < ma30
s2 = ma5 < ma30
# 取出死叉对应的行数据
death_date = df.loc[s1 & s2.shift(1)].index
# 取出金叉对应的行数据
golden_date = df.loc[~(s1|s2.shift(1))].index  # ~表示取反

-------------------------------------------

个性签名:代码过万,键盘敲烂!!!

如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!

原文地址:https://www.cnblogs.com/weiweivip666/p/14214378.html