python类get_k_data()的实例源码

store_data.py 文件源码 项目:stock 作者: Rockyzsu 项目源码 文件源码 阅读 26 收藏 0 点赞 0 评论 0
def save_csv(self,code):
        df = ts.get_k_data(code,start='2016-01-01',end='2016-12-28')
        filename=code+".csv"
        #df.to_csv(filename)
        df.to_sql("newtable",self.db,flavor='sqlite')
server.py 文件源码 项目:mt4plus 作者: flameOnYou 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def get(self):
        symbol = self.get_argument("symbol")#????
        period = self.get_argument("period")#????,??-??
        period_allow_list = ["5","15","30","60","1440","M","W"]
        if period not in period_allow_list:
            return 

        data = None
        if period =="1440":
            data = ts.get_hist_data(symbol)
        else:
            data = ts.get_k_data(symbol,ktype=period)
        print "=========",symbol,":",period
        resultlist = []
        lens = len(data)
        for unit in data.iterrows():
            obj  = {}
            dates = None
            if period =="1440":
                dates = unit[1].name
            else:
                dates = unit[1]['date']
            print "len",len(dates)
#             ????10??%Y-%m-%d??,16??%Y-%m-%d %H:%M ??
            dataformate = "%Y-%m-%d %H:%M"
            date_len = len(dates)
            if date_len == 10 :
                dataformate = "%Y-%m-%d"
            d=datetime.datetime.strptime(dates,dataformate)
            obj["date"]=int(time.mktime(d.timetuple()))
            obj["open"]=unit[1]['open']
            obj["close"]=unit[1]['close']
            obj["high"]=unit[1]['high']
            obj["low"]=unit[1]['low']
            obj["volume"]=unit[1]['volume']
            resultlist.append(obj)

        resultlist.sort(key=lambda obj:obj.get('date'), reverse=False) 

        s = json.dumps(resultlist)
        self.write(s)
Fetch_Data_Stock_CHN_Weekly.py 文件源码 项目:StockRecommendSystem 作者: doncat99 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def getSingleStock(symbol):
    repeat_times = 1
    message = ""
    df = pd.DataFrame()

    for _ in range(repeat_times): 
        try:
            data = ts.get_k_data(symbol, ktype='W')
            data.sort_index(ascending=True, inplace=True)
            return data, ""
        except Exception as e:
            message = symbol + " fetch exception: " + str(e)
            continue   
    return df, message
Fetch_Data_Stock_CHN_Daily.py 文件源码 项目:StockRecommendSystem 作者: doncat99 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def getSingleStock(symbol):
    repeat_times = 1
    message = ""
    df = pd.DataFrame()

    for _ in range(repeat_times): 
        try:
            data = ts.get_k_data(symbol)
            data.sort_index(ascending=True, inplace=True)
            return data, ""
        except Exception as e:
            message = symbol + " fetch exception: " + str(e)
            continue   
    return df, message
Fetch_Data_Stock_CHN_Monthly.py 文件源码 项目:StockRecommendSystem 作者: doncat99 项目源码 文件源码 阅读 16 收藏 0 点赞 0 评论 0
def getSingleStock(symbol):
    repeat_times = 1
    message = ""
    df = pd.DataFrame()

    for _ in range(repeat_times): 
        try:
            data = ts.get_k_data(symbol, ktype='M')
            data.sort_index(ascending=True, inplace=True)
            return data, ""
        except Exception as e:
            message = symbol + " fetch exception: " + str(e)
            continue   
    return df, message
Filter_Stock_Cashflow_CHN.py 文件源码 项目:StockRecommendSystem 作者: doncat99 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def get_single_stock_data_daily(root_path, symbol):
    '''
    All data is from quandl wiki dataset
    Feature set: [Open  High    Low  Close    Volume  Ex-Dividend  Split Ratio Adj. Open  Adj. High  Adj. Low
    Adj. Close  Adj. Volume]
    '''
    #df, lastUpdateTime = queryStock(root_path, "DB_STOCK", "SHEET_CHN", "_DAILY", symbol, "daily_update")
    try:
        df = ts.get_k_data(symbol)
        df.set_index('date', inplace=True)
        df.sort_index(ascending=True, inplace=True)
    except:
        print("stock delisted", symbol)
        return pd.DataFrame()

    if df.empty:
        print("stock delisted", symbol)
        return pd.DataFrame()

    out_path = root_path + "/Data/CSV/symbols/"

    if os.path.exists(out_path) == False:
        os.mkdir(out_path)

    out_file = out_path + symbol + ".csv"
    df.to_csv(out_file)

    return df
tushare69ds.py 文件源码 项目:zStock 作者: superxhy 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def __initFlag__(self):
        #use sh for index flag
        flagindex = self.INDEX_LABELS[0]
        df_data = ts.get_k_data(flagindex, index=False, ktype='D').tail(1)
        if df_data.empty == True:
            print "security:%s NO __initFlag__!" %(str(flagindex))
            return
        if len(df_data['close'].values) < 1:
            print "security:%s noclose data __initFlag__!" %(str(flagindex))
        dateStr = df_data['date'].values[0]
        close = df_data['close'].values[0]
        print "init flagindex last time:%s,close:%s" %(str(dateStr),str(close)) 
        current_dt =  self.__getdatetime__(dateStr)
        self.__indexc__= close
        self.__context__= TsContext(current_dt)
tushare69ds.py 文件源码 项目:zStock 作者: superxhy 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def GET_CLOSE_DATA_INTRADAY(self, context, security, data={}, freq=5, dataCount=1):
        periodtype = str(freq)
        df_data = ts.get_k_data(security, index=False, ktype=periodtype).tail(dataCount)
        if df_data.empty == True:
            print "security:%s in freq:%s NO GET_CLOSE_DATA_INTRADAY!" %(str(security),str(freq))
            return np.array([np.nan])
        return self.GET_CLOSE_DATA_INTRADAY_DF(context, df_data)
tushare69ds.py 文件源码 项目:zStock 作者: superxhy 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def GET_HIGH_DATA_INTRADAY(self, context, security, data={}, freq=5, dataCount=1):
        periodtype = str(freq)
        df_data = ts.get_k_data(security, index=False, ktype=periodtype).tail(dataCount)
        if df_data.empty == True:
            print "security:%s in freq:%s NO GET_HIGH_DATA_INTRADAY!" %(str(security),str(freq))
            return np.array([np.nan])
        return self.GET_HIGH_DATA_INTRADAY_DF(context, df_data)
tushare69ds.py 文件源码 项目:zStock 作者: superxhy 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def GET_LOW_DATA_INTRADAY(self, context, security, data={}, freq=5, dataCount=1):
        periodtype = str(freq)
        df_data = ts.get_k_data(security, index=False, ktype=periodtype).tail(dataCount)
        if df_data.empty == True:
            print "security:%s in freq:%s NO GET_LOW_DATA_INTRADAY!" %(str(security),str(freq))
            return np.array([np.nan])
        return self.GET_LOW_DATA_INTRADAY_DF(context, df_data)
tushare69ds.py 文件源码 项目:zStock 作者: superxhy 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def GET_VOL_DATA_INTRADAY(self, context, security, data={}, freq=5, dataCount=1):
        periodtype = str(freq)
        df_data = ts.get_k_data(security, index=False, ktype=periodtype).tail(dataCount)
        if df_data.empty == True:
            print "security:%s in context:%s NO GET_VOL_DATA_INTRADAY!" %(str(security),str(context))
            return np.array([np.nan])
        return df_data['volume'].values
tushare69ds.py 文件源码 项目:zStock 作者: superxhy 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def GET_LOW_DAY(self, context, security, ref=0):
        dataCount =  ref + 1
        df_data = ts.get_k_data(security, index=False, ktype='D').tail(dataCount)
        if df_data.empty == True:
            print "security:%s in context:%s NO GET_LOW_DAY!" %(str(security),str(context))
            return np.nan
        if len(df_data['low']) < ref:
            return np.nan
        return df_data['low'].values[-ref]
tushare69ds.py 文件源码 项目:zStock 作者: superxhy 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def GET_HIGH_DATA_DAY(self, context,security,isLastest=True,data={},dataCount=1):
        df_data = ts.get_k_data(security, index=False, ktype='D').tail(dataCount)
        if df_data.empty == True:
            print "security:%s in context:%s NO GET_HIGH_DATA_DAY!" %(str(security),str(context))
            return np.array([np.nan])
        return self.GET_HIGH_DATA_DAY_DF(context, df_data)
tushare69ds.py 文件源码 项目:zStock 作者: superxhy 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def GET_LOW_DATA_DAY(self, context,security,isLastest=True,data={},dataCount=1):
        df_data = ts.get_k_data(security, index=False, ktype='D').tail(dataCount)
        if df_data.empty == True:
            print "security:%s in context:%s NO GET_LOW_DATA_DAY!" %(str(security),str(context))
            return np.array([np.nan])
        return self.GET_LOW_DATA_DAY_DF(context, df_data)
tushare69ds.py 文件源码 项目:zStock 作者: superxhy 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def GET_HIGH_DATA_WEEK(self,context,security,isLastest=True,data={},dataCount=1,isSample=False):
        df_data = ts.get_k_data(security, index=False, ktype='W').tail(dataCount) if isSample else ts.get_k_data(security, index=False, ktype='D').tail(dataCount*5)
        if df_data.empty == True:
            print "security:%s in context:%s NO GET_HIGH_DATA_WEEK!" %(str(security),str(context))
            return np.array([np.nan])
        return self.GET_HIGH_DATA_WEEK_DF(context, df_data, isSample)
tushare69ds.py 文件源码 项目:zStock 作者: superxhy 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def GET_HIGH_DATA_MONTH(self, context,security,isLastest=True,data={},dataCount=1,isSample=True):
        df_data = ts.get_k_data(security, index=False, ktype='M').tail(dataCount) if isSample else ts.get_k_data(security, index=False, ktype='D').tail(dataCount*20)
        if df_data.empty == True:
            print "security:%s in context:%s NO GET_HIGH_DATA_MONTH!" %(str(security),str(context))
            return np.array([np.nan])
        return self.GET_HIGH_DATA_MONTH_DF(context, df_data, isSample)
tushare69ds.py 文件源码 项目:zStock 作者: superxhy 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def GET_LOW_DATA_MONTH(self, context,security,isLastest=True,data={},dataCount=1,isSample=True):
        df_data = ts.get_k_data(security, index=False, ktype='M').tail(dataCount) if isSample else ts.get_k_data(security, index=False, ktype='D').tail(dataCount*20)
        if df_data.empty == True:
            print "security:%s in context:%s NO GET_LOW_DATA_MONTH!" %(str(security),str(context))
            return np.array([np.nan])
        return self.GET_LOW_DATA_MONTH_DF(context, df_data, isSample)
tushare69ds.py 文件源码 项目:zStock 作者: superxhy 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def GET_CLOSE_DAY(self, context, security, ref=0 ,data={}):
        dataCount =  ref + 1
        df_data = ts.get_k_data(security, index=False, ktype='D').tail(dataCount)
        if df_data.empty == True:
            print "security:%s NO GET_CLOSE_DAY!" %(str(security))
            return np.nan
        if len(df_data['close']) < ref + 1:
            return np.nan
        return df_data['close'].values[-ref]

    # ????????
tushare69ds.py 文件源码 项目:zStock 作者: superxhy 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def GET_CLOSE_DATA_DAY(self, context, security,isLastest=True,data={},dataCount=20):
        df_data = ts.get_k_data(security, index=False, ktype='D').tail(dataCount)
        if df_data.empty == True:
            print "security:%s NO GET_CLOSE_DATA_DAY!" %(str(security))
            return np.array([np.nan])
        return self.GET_CLOSE_DATA_DAY_DF(context, df_data)
tushare69ds.py 文件源码 项目:zStock 作者: superxhy 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def GET_CLOSE_DATA_WEEK(self, context, security,isLastest=True,data={},dataCount=20,isSample=False):
        df_data = ts.get_k_data(security, index=False, ktype='W').tail(dataCount) if isSample else ts.get_k_data(security, index=False, ktype='D').tail(dataCount*5)
        if df_data.empty == True:
            print "security:%s in context:%s NO GET_CLOSE_DATA_WEEK!" %(str(security),str(context))
            return np.array([np.nan])
        return self.GET_CLOSE_DATA_WEEK_DF(context, df_data, isSample)


问题


面经


文章

微信
公众号

扫码关注公众号