: | : | :期货程序化 | :期货程序化研究 | :期货量化学习 | :期货量化 |
返回列表 发帖

量化投资准备工作

量化投资准备工作

完全的依靠计算机进行高频交易或者套利交易,或者用信号处理理论将市场看作完全的时间序列,使用小波变换,模式识别,人工智能等方法实现交易自动化,从经 验来看其成功的概率基本在50-60%左右,经常有人号称会达到75%的概率,那只是对历史的测试而已。而且涉及的理论大多比较难懂,搞清楚其中的一个都 是很难的事情,因此不打算在其中深究,也不想将其作为投资方法,虽然量化投资能稳定获利,但将胜负结果完全交个概率终究觉得不靠谱,但是将投资过程量化是 可行,所以称市场没有什么起色的这段时间,进行一下准备。

以前主要利用股票软件+excel进行统计分析工作,免费的股票分析软件在横向统计上功能欠缺,而且不能在盘中进行,周期上也以日为单位,不利于多周期的 分析,数据的导出也存在困难,因此希望设计一个程序能够实时进行多周期,多因素的模型统计工作。因此程序在需求上需要较高的效率,同时数据的获得不希望延 时太久,统计数据要图形化显示。

1、环境 windows7 x64

2、量化模型使用C++,参考《trading with c》

开发工具《Visual C++ 2010》,编码工具《Source Insight》


3、图形等上层代码使用
python32-x64-windows                    多线程,分布式任务的可能
IDE-WingIDE 4.1-windows
GUI-PyQt4-Source Package
GUI-Builder   WingIDE建议不需要使用

4、WingIDE 4.1 破解

安装10天的试用版
找到\Program Files (x86)\Wing IDE 4.1\bin\2.5\src.zip内目标文件process目录下的abstract.pyo
下载unpyclib python库用于反汇编abstract.pyo,abstract.pyo放在unpyclib-0.8.1\unpyclib与application.py一起,使用cmd命令窗口输入path d:\python27      (这里必须使用python 2.x版本)
python application.py -d abstract.pyo > abstract.txt
打开汇编结果文件abstract.txt,通过查找关键函数_GetTermDaysLeft 找到关键地方:
0000523E     STR: 't\x00\x00d\x01\x00\x83\x01\x00|\x01\x00d\x02\x00
.............................................  中间省略  ........................................................
000001B9     74 - LOAD_GLOBAL         '_'
000001BC     64 - LOAD_CONST          'Invalid license activation'
000001BF     83 - CALL_FUNCTION
000001C2     66 - BUILD_TUPLE
000001C5     53 - RETURN_VALUE
000001C6     6E - JUMP_FORWARD        -> 000001CA
000001C9     01 - POP_TOP
000001CA     7C - LOAD_FAST           'self'
000001CD     69 - LOAD_ATTR           '_GetTermDaysLeft'
000001D0     7C - LOAD_FAST           'lic'
000001D3     83 - CALL_FUNCTION
000001D6     7D - STORE_FAST          'daysleft'
000001D9     7C - LOAD_FAST           'daysleft'
000001DC     64 - LOAD_CONST          -1
000001DF     6A - COMPARE_OP          "=="       将6A改成70
000001E2     6F - JUMP_IF_FALSE       -> 000001F9  关键点在,这里为了判断时间是否不受限制。 这个地址在偏移0x5425修改这个字节
000001E5     01 - POP_TOP
000001E6     74 - LOAD_GLOBAL         '_'
000001E9     64 - LOAD_CONST          'unlimited'
偏移字节是通过上面的0x523E + 0x1E2得到的。直接利用python计算:hex(0x1E2+0X523E)。有可能你计算出来的地址跟这个不一样,没关系。
通过Ultraedit来更改二进制文件abstract.pyo,直接用winrar打开文件编辑,然后保存按提示更新,自己制作的zip文件只有2M比原始文件6M小,在二进制编辑状态下,查找地址5420,找到要修改的地方将6A改成70。

5、PyQt安装-必须使用Source Package,否则有些document没有安装,用WingIDE变异qtdemo时没有界面显示
安装Qt4.7.4---------包含在Qt SDK 中,需要使用qmake程序(竟然要装一个1.4g的开发包)
(加入4个路径) path D:\python32;
D:\QtSDK\Desktop\Qt\4.7.4\mingw\bin\;  qmake.exe
D:\VC2010\bin;                         nmake.exe
D:\QtSDK\mingw\bin                     g++.exe gcc.exe

下载SIP4.3------简单讲就是C和python接口
siplib变异提示需要x64编译器,x86编译器和模块x64不匹配的问题
下载Microsoft Visual Studio 2010(ultimate) 试用版(2.3g)。只要x64编译工具安装上就行,使用虚拟光驱将文件拷贝出来,YCFHQ9DWCYDKV88T2TMHG7BHP,用这个key替换安装盘中setup目录中的[Product Key]的内容,重新保存即可。
注意:configure.py调用sipconfig模块生成的makefile,很多地方在判断windows平台是只判断了("MSVC","MSVC.NET", "BMAKE"),根本没有msvc2008。而我的平台选择的是msvc2008。修改sipconfig.py把所有 ("MSVC","MSVC.NET", "BMAKE")的地方都加上MSVC2008。
运行 VisualStudio x64 Win64 Command Prompt(2010),切换到Pyqt4和Sip4.3的目录下分别运行python configure.py,生成make文件,PyQt4.8.6 make失败,直接使用了二进制文件PyQt-Py3.2-x64-gpl-4.8.6-1.exe,WingIDE生成Demo与描述不太一致。

http://edwardzhangxu.blog.163.com/blog/static/121632542011109111256788/

研究方向和参考资料

1、Python 语法熟悉                《Python基础教程》
2、行情数据接口                      Yahoo Finance
3、数据存储结构和读取方式
4、技术指标和交易策略
5、PyQt图形显示方式

论坛官方微信、群(期货热点、量化探讨、开户与绑定实盘)
 
期货论坛 - 版权/免责声明   1.本站发布源码(包括函数、指标、策略等)均属开放源码,用意在于让使用者学习程序化语法撰写,使用者可以任意修改语法內容并调整参数。仅限用于个人学习使用,请勿转载、滥用,严禁私自连接实盘账户交易
  2.本站发布资讯(包括文章、视频、历史记录、教材、评论、资讯、交易方案等)均系转载自网络主流媒体,内容仅为作者当日个人观点,本网转载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。本网不对该类信息或数据做任何保证。不对您构成任何投资建议,不能依靠信息而取代自身独立判断,不对因使用本篇文章所诉信息或观点等导致的损失承担任何责任。
  3.本站发布资源(包括书籍、杂志、文档、软件等)均从互联网搜索而来,仅供个人免费交流学习,不可用作商业用途,本站不对显示的内容承担任何责任。请在下载后24小时内删除。如果喜欢,请购买正版,谢谢合作!
  4.龙听期货论坛原创文章属本网版权作品,转载须注明来源“龙听期货论坛”,违者本网将保留追究其相关法律责任的权力。本论坛除发布原创文章外,亦致力于优秀财经文章的交流分享,部分文章推送时若未能及时与原作者取得联系并涉及版权问题时,请及时联系删除。联系方式:http://www.qhlt.cn/thread-262-1-1.html
如何访问权限为100/255贴子:/thread-37840-1-1.html;注册后仍无法回复:/thread-23-1-1.html;微信/QQ群:/thread-262-1-1.html;网盘链接失效解决办法:/thread-93307-1-1.html

返回列表