#coding = utf-8
importtushareasts
importtalib
importpandasaspd
importnumpyasnp
fromdatetimeimportdatetime
importsys
# code:代码 name:名字,industry:所属行业 area:地区 pe:市盈率 outstanding:流通股本 totals:总股本(万) totalAssets:总资产(万)
# liqidAssets:流动资产 fixedAssets:固定资产 reserved:公积金 bvps:每股收益 pd:每股净资 timeToMarket:上市日期
defget_stock_list():
df = ts.get_stock_basics()
returndf
defget_ta(df_code,Dist):
operate_array1 = []
operate_array2 = []
operate_array3 = []
count =0
forcodeindf_code.index:
# index,0 - 6 date:日期 open:开盘价 high:最高价 close:收盘价 low:最低价 volume:成交量 price_change:价格变动 p_change:涨跌幅
# 7-12 ma5:5日均价 ma10:10日均价 ma20:20日均价 v_ma5:5日均量v_ma10:10日均量 v_ma20:20日均量
df = ts.get_hist_data(code,start='2014-11-20')
dflen = df.shape[0]
count = count +1
ifdflen >35:
(df,operate1) = get_macd(df)
(df,operate2) = get_KDJ(df)
(df,operate3) = Get_RSI(df)
operate_array1.append(operate1)#round(df.iat[(dflen-1),16],2)
operate_array2.append(operate2)
operate_array3.append(operate3)
df_code['MACD']=pd.Series(operate_array1,index=df_code.index)
df_code['KDJ']=pd.Series(operate_array2,index=df_code.index)
df_code['RSI']=pd.Series(operate_array3,index=df_code.index)
returndf_code
#通过macd判断买进和买出
defget_macd(df):
#参数 12,26,9
macd,macdsignal,macdhist = talib.MACD(df['close'].values,fastperiod=12,slowperiod=26,signalperiod=9)
signal_ma5 = talib.MA(macdsignal,timeperiod=5,matype=0)
signal_ma10 = talib.MA(macdsignal,timeperiod=10