资金使用量化分析_第1页
资金使用量化分析_第2页
资金使用量化分析_第3页
资金使用量化分析_第4页
资金使用量化分析_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

资金流本质上是资金进出的记录,对其进行各种维度的观察,从而了然市场的资金在干什么,进而选择该干什么,是非常有意义的。1.1竞价交易对于价格优先时间优先的竞价交易市场,成交的方式有三种:•买盘当买盘主动吃掉卖盘时发生卖盘当卖盘主动吃掉卖盘时发生•中性盘买卖盘同时打出了相同的价格并成交1.2资金流而资金流就是对买卖盘的统计,分为:•资金流入买盘的累加资金流出卖盘的累加•净流入资金流入-资金流出1.3资金流的分类1.3.1纵向分类而根据成交金额大小的不同,可以分为:主力流入•主力流出•散户流入•散户流出不同的数据提供商对主力和散户成交金额的定义不同,但这并不影响操作,知道其含义即可。例如,新浪对大,中,小单,主力,散户的定义如下:主力单笔成交额>=100万元散户单笔成交额<二5万元小单单笔成交5万元-20万元大单单笔成交20万-100万元特大单单笔成交100万元以上1.3.2横向分类而统计标的的不同,又可以分为:•个股资金流•板块资金流•大盘资金流这个很好理解,板块和大盘不过是个股资金流的累加。1.4资金流的几个观察•单日资金流意义不大,一般统计某个窗口(10日,20日)才有参考价值•巨量流出(流入)伴随高位(低位)往往是见顶(底)的标志•下跌中流入,上涨中流出,往往会形成所谓的背驰(背离)这些都可以通过数据来对其进行佐证,下一节会在回测策略中对其进行更具体的分析。数据结构定义zvt数据的使用需要在domain里面先对其进行定义,moneyflow的定义如下:#板块资金流向@register_api(provider='sina')classIndexMoneyFlow(MoneyFlowBase,Mixin):__tablename__='index_money_flow'code=Column(String(length=32))name=Column(String(length=32))#收盘价close=Column(Float)change_pct=Column(Float)turnover_rate=Column(Float)#净流入net_inflows=Column(Float)#净流入率net_inflow_rate=Column(Float)#主力二超大单+大单net_main_inflows=Column(Float)net_main_inflow_rate=Column(Float)#超大单net_huge_inflows=Column(Float)nethugeinflowrate=Column(Float)#大单net_big_inflows=Column(Float)net_big_inflow_rate=Column(Float)#中单net_medium_inflows=Column(Float)net_medium_inflow_rate=Column(Float)#小单net_small_inflows=Column(Float)net_small_inflow_rate=Column(Float)@register_api(provider='sina')classStockMoneyFlow(MoneyFlowBase,Mixin):__tablename__='stock_money_flow'code=Column(String(length=32))name=Column(String(length=32))#收盘价close=Column(Float)change_pct=Column(Float)turnover_rate=Column(Float)#净流入net_inflows=Column(Float)#净流入率net_inflow_rate=Column(Float)#主力二超大单+大单net_main_inflows=Column(Float)net_main_inflow_rate=Column(Float)#超大单net_huge_inflows=Column(Float)net_huge_inflow_rate=Column(Float)#大单net_big_inflows=Column(Float)net_big_inflow_rate=Column(Float)#中单net_medium_inflows=Column(Float)net_medium_inflow_rate=Column(Float)#小单net_small_inflows=Column(Float)net_small_inflow_rate=Column(Float)register_schema(providers=['sina'],db_name='money_flow',schema_base=MoneyFlowBase)这里的关键点在于,数据的注册:register_schema(providers=['sina'],db_name='money_flow',schema_base=MoneyFlowBase)其中providers可以设置多个,比如providers=['sina','eastmoney'],这样就可以进行数据的交叉验证了。zvt里面对数据的处理是先定义数据标准格式,然后注册支持数据的provider,这为数据的稳定性提供了坚实的基础,即使某些provider不可用了,也不会影响后面的分析程序。获取板块资金流选择基类FixedCycleDataRecorder一般来说,获取一类数据,需要明确其是entity还是entity发生的event;板块资金流是板块发生资金流入这类event的记录,然后其还是个固定时间序列的数据,所以通过继承FixedCycleDataRecorder来实现。

那么,有哪些板块呢?这个在SinaChinaStockCategoryRecorder已经实现。我们在ipython里面来看一下:In[8]:fromzvt.apiimport*In[9]:df=get_blocks(provider='sina',block_category='industry')In[10]:df.loc[:,['code','name']]Out[10]:codenamecodenew_blhynew_blhy玻璃行业new_cbzznew_cbzz船舶制造new_cmylnew_cmyl传媒娱乐new_dlhynew_dlhy电力行业new_dqhynew_dqhy电器行业new_dzqjnew_dzqj电子器件new_dzxxnew_dzxx电子信息new_fdcnew_fdc房地产new_fdsbnew_fdsb发电设备new_fjzznew_fjzz飞机制造new_fzhynew_fzhy纺织行业new_fzjxnew_fzjx纺织机械new_fzxlnew_fzxl服装鞋类new_glqlnew_glql公路桥梁new_gsgqnew_gsgq供水供气new_gthynew_gthy钢铁行业new_hbhynew_hbhy环保行业new_hghynew_hghy化工行业new_hqhynew_hqhy化纤行业new_jdhynew_jdhy家电行业new_jdlynew_jdly酒店旅游new_jjhynew_jjhy家具行业new_jrhynew_jrhy金融行业new_jtysnew_jtys交通运输new_jxhynew_jxhy机械行业new_jzjcnew_jzjc建筑建材new_kfqnew_kfq开发区new_ljhynew_ljhy酿酒行业new_mtcnew_mtc摩托车new_mthynew_mthy煤炭行业new_nlmynew_nlmy农林牧渔new_nyhfnew_nyhf农药化肥

new_qczznew_qtxynew_slzpnew_snhynew_sphynew_stocknew_swzznew_sybhnew_syhynew_tchynew_wzwmnew_ylqxnew_yqybnew_qczznew_qtxynew_slzpnew_snhynew_sphynew_stocknew_swzznew_sybhnew_syhynew_tchynew_wzwmnew_ylqxnew_yqybnew_ysbznew_ysjsnew_zhhynew_zzhynew_qczznew_qtxynew_slzpnew_snhynew_sphynew_stocknew_swzznew_sybhnew_syhynew_tchynew_wzwmnew_ylqxnew_yqybnew_ysbznew_ysjsnew_zhhynew_zzhy汽车制造其它行业塑料制品水泥行业食品行业次新股生物制药商业百货石油行业陶瓷行业物资外贸医疗器械仪器仪表印刷包装有色金属综合行业造纸行业指定provider和schema#entity的信息从哪里来entity_provider='sina'#entity的schemaentity_schema=Index#记录的信息从哪里来provider—sina#记录的schemadata_schema—IndexMoneyFlow覆盖init_entities在init_entities中设置需要抓取的entity,这里是新浪提供的概念和行业。definit_entities(self):self.entity_session=get_db_session(provider二self.entity_provider,data_schema=self.entity_schema)self.entities=get_entities(session=self.entity_session,entity_type='index',exchanges二self.exchanges,codes=self.codes,entityids=self.entity_ids,return_type='domain',provider二vider,#只抓概念和行业filters=[Index.category.in_([StockCategory.industry.value,StockCategory.concept.value])])recorder类会自动遍历相应的entity,并从其相应的历史记录的最新位置继续抓取。3.2.3实现抓取逻辑defrecord(self,entity,start,end,size,timestamps):url=self.generate_url(category二entity.category,code=entity.code,number=size)resp=requests.get(url)opendate="opendate"avg_price="avg_price"avg_changeratio='avg_changeratio'turnover='turnover'netamount='netamount'ratioamount='ratioamount'r0_net='r0_net'r0_ratio='r0_ratio'r0xratio='r0x_ratio'cnt_r0x_ratio='cnt_r0x_ratio'json_list=[]try:json_list=eval(resp.text)exceptExceptionase:resp.encoding='GBK'self.logger.error(resp.text)time.sleep(60*5)result_list=[]foriteminjson_list:result_list.append({'name':'timestamp':topdtimestamp(item['opendate']),'close':tofloat(item['avg_price']),'change_pct':to_float(item['avg_changeratio']),'turnover_rate':to_float(item['turnover'])/10000,'net_inflows':to_float(item['netamount']),'net_inflow_rate':to_float(item['ratioamount']),'net_main_inflows':to_float(item['r0_net']),'net_main_inflow_rate':to_float(item['r0_ratio'])})returnresultlist3.2.4测试抓取r*_____'•'一if__name__——__main_:SinaIndexMoneyFlowRecorder(codes=['new_dzxx']).run()这里的codes就是刚才查询有哪些板块里面的codes,zvt里面recorder提供了统一的调用方式:使用某些codes做测试,测试没问题后再全量抓取。3.2.5全量定时抓取sinarunner@sched.scheduled_job('cron',hour=17,minute=00)defrun():whileTrue:try:SinaChinaStockCategoryRecorder().run()SinaIndexMoneyFlowRecorder().run()breakexceptExceptionase:logger.exception('sinarunnererror:{}'.format(e))time.sleep(60)r*_____'•'一if__name__==__main__:init_process_log('sina_runner.log')run()sched.start()sched._thread.join()定时器里面设置的是每天下午5点抓取板块和资金流数据,你可以根据自己的需要来进行调整。linux可以用如下命令起一个常驻进程:nohuppythonzvt/recorders/sina/sina_runner.py>/dev/null2>&1&资金流api有了定时增量更新的数据,我们就可以只把精力放在数据的使用上了In[16]:df=get_index_money_flow(provider=,sina,,codes=[,new_cmyl,,,new_jrhy,])In[17]:dfOut[17]:identity_idtimestampcodenameclosechange_pctturnover_ratenet_inflowsnet_inflow_ratenet_main_inflowsnet_main_inflow_ratetimestamp2011-06-16indexcnnewcmyl2011~06~16index_cn_new_cmyl2011-0616new_cmyl传媒娱乐11.2669-0.0165220.007802-2.508056e+07-0.0419885.198664e+060.0087032011-06-16index_cn_new_jrhy_2011-06-16index_cn_new_jrhy2011-0616new_jrhy金融行业5.0747-0.0052560.001426-4.057816e+07-0.006909-1.272530e+08-0.0216672011-06-17index_cn_new_cmyl_2011-06-17index_c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论