【python】数据分析学习——pandas_datareader (jupyter notebook)

pandas_datareader 和 tushare 差不多,就是导入的包不同,提取数据的函数不同,Close要大写C。

import numpy as np
import pandas as pd
import pandas_datareader.data as web
import matplotlib.pyplot as plt

# symbol = ['BABA','BIDU','MSFT']
data = web.get_data_yahoo('BABA',start = '7/20/2019',end = '7/20/2020')
# code0 = web.get_data_yahoo(symbol,start = '1/1/2020',end = '6/6/2020')
data.info()

data['MA5'] = data['Close'].rolling(5).mean()
data['MA10'] = data['Close'].rolling(10).mean()
data['MA20'] = data['Close'].rolling(20).mean()

data[['Close','MA5','MA10','MA20']].plot(figsize = (15,7))
plt.grid(True)

datas = data[['Close','MA5','MA10','MA20']].dropna()
datas['MA5-MA20'] = datas['MA5']-datas['MA20']
datas.describe()

SD = -1.3

#生成交易信号
datas['signal'] = np.where(datas['MA5-MA20'] < SD,1,0)
datas['signal'] = np.where(datas['MA5-MA20'] > -SD,-1,datas['signal'])
#计算收益率 算数收益率 对数收益率
datas['return'] = (datas['Close']-datas['Close'].shift(1))/datas['Close'].shift(1)

#累积收益率
datas['stra_re'] = datas['signal'].shift(1) * datas['return']

datas[['return','stra_re']].cumsum().plot(figsize = (15,7))
plt.grid(True)

还不太清楚这个参数和交易信号是怎么回事。。。

datas['stra_sum'] = datas['stra_re'].cumsum()
print(datas['stra_sum'].describe())

看最后的数据,没有亏损。

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值