- UID
- 2
- 积分
- 2874604
- 威望
- 1387331 布
- 龙e币
- 1487273 刀
- 在线时间
- 13155 小时
- 注册时间
- 2009-12-3
- 最后登录
- 2024-11-24
|
量化投资准备工作
完全的依靠计算机进行高频交易或者套利交易,或者用信号处理理论将市场看作完全的时间序列,使用小波变换,模式识别,人工智能等方法实现交易自动化,从经 验来看其成功的概率基本在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图形显示方式 |
论坛官方微信、群(期货热点、量化探讨、开户与绑定实盘)
|