01股票数据预处理
tushare 财经数据接口包
ts.get_k_data(code='600519' ,start='2001-01-01') #获取某只股票的历史行情数据
#code 字符串形式的股票代码
df.to_csv(‘’) #将互联网上的股票数据存储到本地
df = pd.read_csv('') #将本地存储的数据读入到df
df.drop(labels='Unnamed:0',axis=0,inplace=true) #删除df中指定的一列
df.info() #查看每一列的数据类型
df['data']=pd.to_datatime(df['data']) #将time列转为时间序列类型
df.set_index('data',inplace=True) #将data列作为源数据的行索引
02捕获股票上涨的日期
输出该股票所有收盘比开盘上涨3%以上的日期
伪代码:(收盘-开盘)/开盘 > 0.03
(df['open'] - df['close']) / df['open'] > 0.03
03捕获股票的跌幅日期
输出该股票所有开盘比前日收盘跌幅超过2%的日期
伪代码:(开盘-前日收盘)/前日收盘 <-0.02
(df['open'] - df['close'].shift(1)/df['close'].shift(1)<-0.02)
将布尔值作为源数据的行索引取出True对应的行数据
df.loc[(df['open'] - df['close'].shift(1))/df['close'].shift(1)<-0.02].index
04股票买卖收益分析
New_df = df['2010-01':'2020-01']
df_monthly = New_df.resample('M').first() #数据的重新取样
cost = df_monthly('open').sum()*100 #买股票花费的总金额
New_df.resample('A').last() #卖出股票到手的钱
#特殊情况:2020年买入的股票卖不出去
#将2020年最后一行切出去
df_yearly = New_df.resample('A').last() [:-1]
resc = df_yearly['open'].sum()*1200 #卖出股票到手的钱
最后手中剩余的股票估价计算到总收益
使用昨天的收盘价作为剩余股票的单价
last_monry = 200*new_df['close'][-1]
计算总收益
resc + last_monry - cost
金叉& 死叉