def get_dv(start = 20170101,end = 20180101): import jaqs_fxdayu jaqs_fxdayu.patch_all() from jaqs.data import DataView from jaqs_fxdayu.data.dataservice import LocalDataService import warnings warnings.filterwarnings("ignore") #-------------------------------------------------------- #define factor_list = ['BBI', 'net_profit', 'tot_shrhldr_eqy_excl_min_int' # ,'EPS','PE','PS','ACCA','CTOP','MA10RegressCoeff12','AR','BR','ARBR','np_parent_comp_ttm','total_share','bps' ] check_factor = ','.join(factor_list) dataview_folder = r'../data' ds = LocalDataService(fp=dataview_folder) ZZ800_id = ds.query_index_member("000906.SH", start, end) stock_symbol = list(set(ZZ800_id)) dv_props = {'start_date': start, 'end_date': end, 'symbol':','.join(stock_symbol), 'fields': check_factor, 'freq': 1, "prepare_fields": True} dv = DataView() dv.init_from_config(dv_props, data_api=ds) dv.prepare_data() return dv
def get_dv(start = 20170101,end = 20180101): import jaqs_fxdayu jaqs_fxdayu.patch_all() from jaqs.data import DataView from jaqs_fxdayu.data.dataservice import LocalDataService import warnings warnings.filterwarnings("ignore") #-------------------------------------------------------- #define factor_list = [ 'alpha190', 'alpha96', 'DebtEquityRatio', 'NetAssetGrowRate', 'SharpeRatio120', 'RC12' ,'InformationRatio20'] check_factor = ','.join(factor_list) dataview_folder = r'../data' ds = LocalDataService(fp = dataview_folder) ZZ800_id = ds.query_index_member("000906.SH", start, end) stock_symbol = list(set(ZZ800_id)) dv_props = {'start_date': start, 'end_date': end, 'symbol':','.join(stock_symbol), 'fields': check_factor, 'freq': 1, "prepare_fields": True} dv = DataView() dv.init_from_config(dv_props, data_api=ds) dv.prepare_data() return dv
def get_dv(start = 20170101,end = 20180101): import jaqs_fxdayu jaqs_fxdayu.patch_all() from jaqs.data import DataView from jaqs_fxdayu.data.dataservice import LocalDataService import warnings warnings.filterwarnings("ignore") #-------------------------------------------------------- #define factor_list = ['TSEPToTotalCapital','alpha107','TRIX5_J','OperatingRevenueGrowRate_J','LossVariance60','BIAS60_J','alpha110','DIZ_J'] check_factor = ','.join(factor_list) dataview_folder = r'E:/data/data' ds = LocalDataService(fp = dataview_folder) ZZ800_id = ds.query_index_member("000906.SH", start, end) stock_symbol = list(set(ZZ800_id)) dv_props = {'start_date': start, 'end_date': end, 'symbol':','.join(stock_symbol), 'fields': check_factor, 'freq': 1, "prepare_fields": True} dv = DataView() dv.init_from_config(dv_props, data_api=ds) dv.prepare_data() return dv
def get_dv(start=20170101, end=20180101): import warnings warnings.filterwarnings("ignore") try: import jaqs_fxdayu jaqs_fxdayu.patch_all() from jaqs.data import DataView from jaqs_fxdayu.data.dataservice import LocalDataService except ImportError as e: _handle_import_exception(e) ds = LocalDataService(fp=get_data_root()) ZZ800_id = ds.query_index_member("000906.SH", start, end) stock_symbol = list(set(ZZ800_id)) dv_props = { 'start_date': start, 'end_date': end, 'symbol': ','.join(stock_symbol), 'fields': "", 'freq': 1, "prepare_fields": True } dv = DataView() dv.init_from_config(dv_props, data_api=ds) dv.prepare_data() hs300_benchmark = dv.data_api.daily("000300.SH", dv.extended_start_date_d, dv.end_date, fields='trade_date,close') dv.data_benchmark = hs300_benchmark[0][['trade_date', 'close']].set_index('trade_date') return dv
def get_dv(start=20170101, end=20180101): import jaqs_fxdayu jaqs_fxdayu.patch_all() from jaqs.data import DataView from jaqs_fxdayu.data.dataservice import LocalDataService import warnings warnings.filterwarnings("ignore") #-------------------------------------------------------- #define factor_list = ['PB', 'turnover_ratio', 'volume', 'pe_ttm'] check_factor = ','.join(factor_list) dataview_folder = r'E:\BaiduNetdiskDownload\data\data' ds = LocalDataService(fp=dataview_folder) ZZ800_id = ds.query_index_member("000906.SH", start, end) stock_symbol = list(set(ZZ800_id)) dv_props = { 'start_date': start, 'end_date': end, 'symbol': ','.join(stock_symbol), 'fields': check_factor, 'freq': 1, "prepare_fields": True } dv = DataView() dv.init_from_config(dv_props, data_api=ds) dv.prepare_data() return dv
def get_dv(start=20170101, end=20180101): import jaqs_fxdayu jaqs_fxdayu.patch_all() from jaqs.data import DataView from jaqs_fxdayu.data.dataservice import LocalDataService import warnings warnings.filterwarnings("ignore") factor_list = [ 'alpha60', 'alpha61', 'SRMI', 'OperatingProfitGrowRate', 'InterestCover_J', 'ROECut', 'StaticPE_J', 'VOL60' ] check_factor = ','.join(factor_list) dataview_folder = r'../data' ds = LocalDataService(fp=dataview_folder) ZZ800_id = ds.query_index_member("000906.SH", start, end) stock_symbol = list(set(ZZ800_id)) dv_props = { 'start_date': start, 'end_date': end, 'symbol': ','.join(stock_symbol), 'fields': check_factor, 'freq': 1, "prepare_fields": True } dv = DataView() dv.init_from_config(dv_props, data_api=ds) dv.prepare_data() return dv
def get_dv(start=20170101, end=20180101): import jaqs_fxdayu jaqs_fxdayu.patch_all() from jaqs.data import DataView from jaqs_fxdayu.data.dataservice import LocalDataService import warnings warnings.filterwarnings("ignore") #-------------------------------------------------------- #define factor_list = [ 'volume', 'tot_profit', 'plus_non_oper_rev', 'less_non_oper_exp', 'net_cash_flows_oper_act', 'total_oper_rev', 'tot_oper_cost', 'fin_exp', 'less_selling_dist_exp', 'less_gerl_admin_exp', 'oper_rev', 'less_oper_cost', 'turnover' ] check_factor = ','.join(factor_list) dataview_folder = 'G:\GSICE\DATA\data' ds = LocalDataService(fp=dataview_folder) ZZ800_id = ds.query_index_member("000906.SH", start, end) stock_symbol = list(set(ZZ800_id)) dv_props = { 'start_date': start, 'end_date': end, 'symbol': ','.join(stock_symbol), 'fields': check_factor, 'freq': 1, "prepare_fields": True } dv = DataView() dv.init_from_config(dv_props, data_api=ds) dv.prepare_data() data_config = { "remote.data.address": "tcp://data.tushare.org:8910", "remote.data.username": "******", "remote.data.password": "******" } from jaqs_fxdayu.data import RemoteDataService Ds = RemoteDataService() Ds.init_from_config(data_config) dv.add_field('pe', Ds) return dv
def get_dv(start=20170101, end=20180101): import jaqs_fxdayu jaqs_fxdayu.patch_all() from jaqs_fxdayu.data import DataView from jaqs_fxdayu.data.dataservice import LocalDataService import warnings warnings.filterwarnings("ignore") #-------------------------------------------------------- #define factor_list = ['fcffps', 'lt_borrow', 'st_borrow', 'LCAP', 'end_bal_cash'] check_factor = ','.join(factor_list) dataview_folder = r'D:/data' ds = LocalDataService(fp=dataview_folder) ZZ800_id = ds.query_index_member("000906.SH", start, end) stock_symbol = list(set(ZZ800_id)) dv_props = { 'start_date': start, 'end_date': end, 'symbol': ','.join(stock_symbol), 'fields': check_factor, 'freq': 1, "prepare_fields": True } dv = DataView() dv.init_from_config(dv_props, data_api=ds) dv.prepare_data() # total market value data_config = { "remote.data.address": "tcp://data.tushare.org:8910", "remote.data.username": "******", "remote.data.password": "******" } from jaqs_fxdayu.data.dataservice import RemoteDataService ds1 = RemoteDataService() ds1.init_from_config(data_config) dv.add_field('total_mv', ds1) dv.add_field('ncf_oper_ttm', ds1) return dv
def get_dv(start=20170101, end=20180101): import jaqs_fxdayu jaqs_fxdayu.patch_all() from jaqs.data import DataView from jaqs_fxdayu.data.dataservice import LocalDataService import warnings warnings.filterwarnings("ignore") # -------------------------------------------------------- # define factor_list = [ 'np_parent_comp_ttm', 'tot_cur_liab', 'cogstosales', 'oper_rev_ttm', 'tangibleasset', 'interestdebt' ] check_factor = ','.join(factor_list) dataview_folder = r'd:/data' ds = LocalDataService(fp=dataview_folder) ZZ800_id = ds.query_index_member("000906.SH", start, end) stock_symbol = list(set(ZZ800_id)) ben_ret = list(ds.index_daily(['000300.SH'], start, end, 'close'))[0] dv_props = { 'start_date': start, 'end_date': end, 'symbol': ','.join(stock_symbol), 'fields': check_factor, 'freq': 1, "prepare_fields": True } dv = DataView() dv.init_from_config(dv_props, data_api=ds) dv.prepare_data() return dv
def get_dv(start=20170101, end=20180101): import jaqs_fxdayu jaqs_fxdayu.patch_all() from jaqs.data import DataView from jaqs_fxdayu.data.dataservice import LocalDataService import warnings warnings.filterwarnings("ignore") #-------------------------------------------------------- #define factor_list = [ 'SaleServiceCashToOR', 'alpha158', 'CoppockCurve', 'OperatingProfitRatio', 'alpha147', 'alpha57', 'EquityFixedAssetRatio', 'alpha1', 'alpha2', 'alpha3', 'alpha4', 'alpha5', 'alpha6', 'alpha7', 'alpha8', 'alpha9', 'alpha10' ] check_factor = ','.join(factor_list) dataview_folder = r'F:/data' ds = LocalDataService(fp=dataview_folder) ZZ800_id = ds.query_index_member("000906.SH", start, end) stock_symbol = list(set(ZZ800_id)) dv_props = { 'start_date': start, 'end_date': end, 'symbol': ','.join(stock_symbol), 'fields': check_factor, 'freq': 1, "prepare_fields": True } dv = DataView() dv.init_from_config(dv_props, data_api=ds) dv.prepare_data() return dv, ds
def get_dv(start=20170101, end=20180101): import jaqs_fxdayu jaqs_fxdayu.patch_all() from jaqs.data import DataView from jaqs_fxdayu.data.dataservice import LocalDataService import warnings warnings.filterwarnings("ignore") #-------------------------------------------------------- #define factor_list = [ 'close', 'pb', 'roe', 'net_profit', 'pe', 'volume', 'capital_stk', 'tot_profit', 'less_int_exp', 'int_income', 'total_liab', 'end_bal_cash', 'tot_cur_assets', 'tot_cur_liab', 'tot_non_cur_liab', 'tot_assets' ] check_factor = ','.join(factor_list) dataview_folder = r'E://股票因子数据/data' ds = LocalDataService(fp=dataview_folder) ZZ800_id = ds.query_index_member("000906.SH", start, end) stock_symbol = list(set(ZZ800_id)) dv_props = { 'start_date': start, 'end_date': end, 'symbol': ','.join(stock_symbol), 'fields': check_factor, 'freq': 1, "prepare_fields": True } dv = DataView() dv.init_from_config(dv_props, data_api=ds) dv.prepare_data() return dv
def get_dv(start=20170101, end=20180101): import jaqs_fxdayu jaqs_fxdayu.patch_all() from jaqs.data import DataView from jaqs_fxdayu.data.dataservice import LocalDataService import warnings warnings.filterwarnings("ignore") #-------------------------------------------------------- #define factor_list = [ 'capital_stk', 'cash_cash_equ_end_period', 'oper_rev', 'acct_rcv', 'adv_from_cust', 'adv_from_cust', 'oper_profit', 'less_oper_cost', 'inventories', 'ARTRate', 'ARTDays', 'InventoryTDays', 'AccountsPayablesTDays', 'DAVOL5', 'AD' ] check_factor = ','.join(factor_list) dataview_folder = r'../data' ds = LocalDataService(fp=dataview_folder) ZZ800_id = ds.query_index_member("000906.SH", start, end) stock_symbol = list(set(ZZ800_id)) dv_props = { 'start_date': start, 'end_date': end, 'symbol': ','.join(stock_symbol), 'fields': check_factor, 'freq': 1, "prepare_fields": True } dv = DataView() dv.init_from_config(dv_props, data_api=ds) dv.prepare_data() return dv
def get_dv(start=20170101, end=20180101): import jaqs_fxdayu jaqs_fxdayu.patch_all() from jaqs.data import DataView from jaqs_fxdayu.data.dataservice import LocalDataService import warnings warnings.filterwarnings("ignore") #-------------------------------------------------------- #define factor_list = [ 'alpha84', 'alpha88', 'alpha99', 'alpha133', 'Rstr504', 'GainVariance60', 'ARTDays', 'BollDown', 'acct_rcv', 'notes_rcv', 'adv_from_cust' ] check_factor = ','.join(factor_list) dataview_folder = r'D:\my_data\量化云实习\data' ds = LocalDataService(fp=dataview_folder) ZZ800_id = ds.query_index_member("000906.SH", start, end) stock_symbol = list(set(ZZ800_id)) dv_props = { 'start_date': start, 'end_date': end, 'symbol': ','.join(stock_symbol), 'fields': check_factor, 'freq': 1, "prepare_fields": True } dv = DataView() dv.init_from_config(dv_props, data_api=ds) dv.prepare_data() return dv
def get_dv(start=20170101, end=20180101): import jaqs_fxdayu jaqs_fxdayu.patch_all() from jaqs.data import DataView from jaqs_fxdayu.data.dataservice import LocalDataService import warnings warnings.filterwarnings("ignore") #-------------------------------------------------------- #define factor_list = [ 'recover_l', 'recover_s', 'trend60', 'BollUp_turnover', 'BollDown_turnover', 'factor_PV', 'AD_close60', 'AD_hl60', 'r_adj80', 'pca', 'turnover_ratio', 'total_mv', 'tot_cur_assets' ] check_factor = ','.join(factor_list) dataview_folder = r'D:\my_data\量化云实习\data' ds = LocalDataService(fp=dataview_folder) ZZ800_id = ds.query_index_member("000906.SH", start, end) stock_symbol = list(set(ZZ800_id)) dv_props = { 'start_date': start, 'end_date': end, 'symbol': ','.join(stock_symbol), 'fields': check_factor, 'freq': 1, "prepare_fields": True } dv = DataView() dv.init_from_config(dv_props, data_api=ds) dv.prepare_data() return dv
def get_dv(start=20170101, end=20180101): import jaqs_fxdayu jaqs_fxdayu.patch_all() from jaqs.data import DataView from jaqs_fxdayu.data.dataservice import LocalDataService import warnings warnings.filterwarnings("ignore") #-------------------------------------------------------- #define factor_list = [ 'alpha33', 'alpha58', 'alpha114', 'alpha173', 'LongDebtToWorkingCapital', 'OperCashGrowRate', 'Kurtosis120', 'Beta252' ] check_factor = ','.join(factor_list) dataview_folder = r'F:/data' ds = LocalDataService(fp=dataview_folder) ZZ800_id = ds.query_index_member("000906.SH", start, end) stock_symbol = list(set(ZZ800_id)) dv_props = { 'start_date': start, 'end_date': end, 'symbol': ','.join(stock_symbol), 'fields': check_factor, 'freq': 1, "prepare_fields": True } dv = DataView() dv.init_from_config(dv_props, data_api=ds) dv.prepare_data() return dv
def get_dv(start=20170101, end=20180101): import jaqs_fxdayu jaqs_fxdayu.patch_all() from jaqs.data import DataView from jaqs_fxdayu.data.dataservice import LocalDataService import warnings warnings.filterwarnings("ignore") #-------------------------------------------------------- #define factor_list = [ 'tot_profit', 'less_oper_cost', 'less_fin_exp', 'less_selling_dist_exp', 'less_gerl_admin_exp', 'monetary_cap', 'tradable_assets', 'notes_rcv', 'acct_rcv', 'other_rcv', 'tot_cur_liab' ] check_factor = ','.join(factor_list) dataview_folder = r'data' ds = LocalDataService(fp=dataview_folder) ZZ800_id = ds.query_index_member("000906.SH", start, end) stock_symbol = list(set(ZZ800_id)) dv_props = { 'start_date': start, 'end_date': end, 'symbol': ','.join(stock_symbol), 'fields': check_factor, 'freq': 1, "prepare_fields": True } dv = DataView() dv.init_from_config(dv_props, data_api=ds) dv.prepare_data() return dv
def get_dv(start=20170101, end=20180101): import jaqs_fxdayu jaqs_fxdayu.patch_all() from jaqs.data import DataView from jaqs_fxdayu.data.dataservice import LocalDataService import warnings warnings.filterwarnings("ignore") # -------------------------------------------------------- # define factor_list = [ 'total_share', 'oper_profit', 'oper_rev', 'float_mv', 'net_cash_flows_oper_act', 'ps' ] check_factor = ','.join(factor_list) dataview_folder = r'H:/sxzy/data' ds = LocalDataService(fp=dataview_folder) ZZ800_id = ds.query_index_member("000906.SH", start, end) stock_symbol = list(set(ZZ800_id)) dv_props = { 'start_date': start, 'end_date': end, 'symbol': ','.join(stock_symbol), 'fields': check_factor, 'freq': 1, "prepare_fields": True } dv = DataView() dv.init_from_config(dv_props, data_api=ds) dv.prepare_data() return dv
def get_dv(start=20170101, end=20180101): import jaqs_fxdayu jaqs_fxdayu.patch_all() from jaqs.data import DataView from jaqs_fxdayu.data.dataservice import LocalDataService import warnings warnings.filterwarnings("ignore") # -------------------------------------------------------- # define factor_list = [ 'volume', 'net_profit', 'oper_rev', 'fix_assets', 'proj_matl', 'const_in_prog', 'turnover_ratio' ] check_factor = ','.join(factor_list) dataview_folder = r'C:\Users\微软\Desktop\data' ds = LocalDataService(fp=dataview_folder) ZZ800_id = ds.query_index_member("000906.SH", start, end) stock_symbol = list(set(ZZ800_id)) dv_props = { 'start_date': start, 'end_date': end, 'symbol': ','.join(stock_symbol), 'fields': check_factor, 'freq': 1, "prepare_fields": True } dv = DataView() dv.init_from_config(dv_props, data_api=ds) dv.prepare_data() return dv
def get_dv(start=20170101, end=20180101): import jaqs_fxdayu jaqs_fxdayu.patch_all() from jaqs.data import DataView from jaqs_fxdayu.data.dataservice import LocalDataService import warnings warnings.filterwarnings("ignore") #-------------------------------------------------------- #define factor_list = [ 'alpha01a', 'alpha02a', 'alpha03a', 'alpha04a', 'alpha05a', 'alpha06a', 'alpha07a', 'alpha08a', 'alpha09a', 'alpha10a' ] check_factor = ','.join(factor_list) dataview_folder = r'f:/data' ds = LocalDataService(fp=dataview_folder) ZZ800_id = ds.query_index_member("000906.SH", start, end) stock_symbol = list(set(ZZ800_id)) dv_props = { 'start_date': start, 'end_date': end, 'symbol': ','.join(stock_symbol), 'fields': check_factor, 'freq': 1, "prepare_fields": True } dv = DataView() dv.init_from_config(dv_props, data_api=ds) dv.prepare_data() return dv
def get_dv(start=20170101, end=20180101): import jaqs_fxdayu jaqs_fxdayu.patch_all() from jaqs.data import DataView from jaqs_fxdayu.data.dataservice import LocalDataService import warnings warnings.filterwarnings("ignore") #-------------------------------------------------------- #define factor_list = [ 'AroonDown', 'TVMA20', 'CurrentRatio', 'RSI', 'VOL10', 'minusDI' ] check_factor = ','.join(factor_list) dataview_folder = r'G:/BaiduYunDownload/data/data' ds = LocalDataService(fp=dataview_folder) ZZ800_id = ds.query_index_member("000906.SH", start, end) stock_symbol = list(set(ZZ800_id)) dv_props = { 'start_date': start, 'end_date': end, 'symbol': ','.join(stock_symbol), 'fields': check_factor, 'freq': 1, "prepare_fields": True } dv = DataView() dv.init_from_config(dv_props, data_api=ds) dv.prepare_data() return dv
#1_连接数据源 import jaqs_fxdayu jaqs_fxdayu.patch_all() from jaqs_fxdayu.data.dataapi import DataApi from jaqs_fxdayu.data import DataView api = DataApi(addr='tcp://data.tushare.org:8910') api.login( "18161280526", #quantos账号(手机号码) 'eyJhbGciOiJIUzI1NiJ9.eyJjcmVhdGVfdGltZSI6IjE1MjMwMTkwMTkyMDUiLCJpc3MiOiJhdXRoMCIsImlkIjoiMTgxNjEyODA1MjYifQ.Kqx03_5DsQKOurLlQDY7GPRPoRbMisxABuNMG5zTe3Q' ) #quantos账号的API令牌号码 #2_获取需要的数据 index_cons ; daily_index_cons #step1_指数成分 from jaqs_fxdayu.util import dp start = 20120104 end = 20171222 id_cons = dp.index_cons(api, "000300.SH", start, end) #可以得到各个股票进出沪深300的时间,out_date=999999表示现在仍在 #以下为一个小实验,统计出沪深300成分的数量: k = id_cons.iloc[:, 2] i = 0 #统计沪深300成分的数量 for s in k: if s == 99999999: i = i + 1 id_member = dp.daily_index_cons( api, "000300.SH", start, end) #与id_cons类似,这里输出的是更为详细的数据,精确到每一天,每一支股票,true表示这一天在沪深300中 mask = ~id_member #true变为false,false变为true
# encoding: UTF-8 from __future__ import print_function from jaqs_fxdayu import patch_all patch_all() import pandas as pd import numpy as np try: import pytest except ImportError as e: if __name__ == "__main__": pass else: raise e from jaqs.data import RemoteDataService from jaqs.data import Parser from tests.data_config import data_config def test_group_rank(): shape = (500, 3000) df_val = pd.DataFrame(np.random.rand(*shape)) df_group = pd.DataFrame( np.random.randint(1, 5, size=shape[0] * shape[1]).reshape(*shape)) expr = parser.parse('GroupRank(val, mygroup)') res = parser.evaluate({'val': df_val, 'mygroup': df_group})
def setUpClass(cls): from jaqs_fxdayu import patch_all patch_all()
#1_读取本地数据 import jaqs_fxdayu jaqs_fxdayu.patch_all() #新加 from jaqs.data import DataView from jaqs.data import RemoteDataService import os import numpy as np import warnings warnings.filterwarnings("ignore") dv = DataView() dataview_folder = 'G:/data/hs300' #文件地址 dv.load_dataview(dataview_folder) #读取dataview_folder #2_读取索引为股票代号的数据 get_snapshot print(dv.get_snapshot(20170504, symbol='600036.SH,600050.SH', fields='')) print( dv.get_snapshot(20170504, symbol='600036.SH,600050.SH', fields='close_adj')) #20170504表示时间,symbol='600036.SH,600050.SH'表示股票(可以添加),fields=''表示因子,若不输则会返回全部的因子 #3_读取时间序列数据 get_ts data1 = dv.get_ts('pb') #返回的是一个DataFrame格式的数据(包含沪深300全部),pb表示平均市净率 print(dv.get_ts('pb').head()) #4_添加自定义算法数据 add_formul roe_pb = dv.add_formula('roe_pb', 'roe/pb', is_quarterly=False, add_data=True) #'roe_pb'表示算法的新名称,'roe/pb'为公式,is_quarterly=False代表是否为季度数据 print(dv.get_ts('roe_pb').head()) #这里用get_ts的方法输入新的名称即可 #5_从数据服务添加新数据至本地