天涯莺歌 2020-03-28
import tushare as ts df = ts.get_k_data(‘600519‘,start=‘1900-01-01‘) df.to_csv(‘./maotai.csv‘) #输出该股票所有收盘比开盘上涨3%以上的日期 df = pd.read_csv(‘./maotai.csv‘) df.drop(labels=‘Unnamed: 0‘,axis=1,inplace=True) #验证data列中数据的数据类型 type(df[‘date‘][9]) #将date这一列的数据先转成时间类型然后将其作为原数据的行索引 df = pd.read_csv(‘./maotai.csv‘,index_col=‘date‘,parse_dates=[‘date‘]) df.drop(labels=‘Unnamed: 0‘,axis=1,inplace=True) #(收盘-开盘)/开盘 > 0.03 (df[‘close‘] - df[‘open‘]) / df[‘open‘] > 0.03 #True:满足需求 #false:不满足 #返回了满足需求的行数据 df.loc[(df[‘close‘] - df[‘open‘]) / df[‘open‘] > 0.03] #获取了满足需求的日期 df.loc[(df[‘close‘] - df[‘open‘]) / df[‘open‘] > 0.03].index #结论:如果获取了一组布尔值,接下来改组布尔值就直接作为元数据的行索引 (df[‘open‘] - df[‘close‘].shift(1))/df[‘close‘].shift(1) < -0.02 #满足需求的行数据 df.loc[(df[‘open‘] - df[‘close‘].shift(1))/df[‘close‘].shift(1) < -0.02].index df_new = df[‘2010‘:‘2019‘] #数据的重新取样的机制(resample):根据指定好的规则进行指定数据的提取 df_monthly = df_new.resample(‘M‘).first() #计算出买股票一共花了多少钱 cost_monry = df_monthly[‘open‘].sum()*100 df_yearly = df_new.resample(‘A‘).last() df_yearly = df_yearly[:-1] recv_monry = df_yearly[‘open‘].sum()*1200 last_price = df.iloc[-1][‘close‘] cunHuo_price = last_price * 900 #计算总收益 cunHuo_price+recv_monry-cost_monry