用Python怎么做量化投资

2024-05-14

1. 用Python怎么做量化投资

本文将会讲解量化投资过程中的基本流程,量化投资无非这几个流程,数据输入------策略书写------回测输出
其中策略书写部分还涉及到编程语言的选择,如果不想苦恼数据输入和回测输出的话,还要选择回测平台。
一、数据
首先,必须是数据,数据是量化投资的基础
如何得到数据?

Wind:数据来源的最全的还是Wind,但是要付费,学生可以有免费试用的机会,之后还会和大家分享一下怎样才Wind里摘取数据,Wind有很多软件的借口,Excel,Matlab,Python,C++。
预测者网:不经意间发现,一个免费提供股票数据网站 预测者网,下载的是CSV格式
TB交易开拓者:Tradeblazer,感谢@孙存浩提供数据源
TuShare:TuShare -财经数据接口包,基于Python的财经数据包,利用Python进行摘取
如何存储数据?
Mysql
如何预处理数据?

空值处理:利用DataFrame的fill.na()函数,将空值(Nan)替换成列的平均数、中位数或者众数
数据标准化
数据如何分类?
行情数据
财务数据
宏观数据
二、计算语言&软件

已经有很多人在网上询问过该选择什么语言?笔者一开始用的是matlab,但最终选择了python
python:库很多,只有你找不到的,没有你想不到,和量化这块结合比较紧密的有:
Numpy&Scipy:科学计算库,矩阵计算
Pandas:金融数据分析神器,原AQR资本员工写的一个库,处理时间序列的标配

Matplotlib:画图库
scikit-learn:机器学习库
statsmodels:统计分析模块
TuShare:免费、开源的python财经数据接口包

Zipline:回测系统
TaLib:技术指标库
matlab:主要是矩阵运算、科学运算这一块很强大,主要有优点是WorkSpace变量可视化

python的Numpy+Scipy两个库完全可以替代Matlab的矩阵运算
Matplotlib完克Matlab的画图功能
python还有很多其他的功能
pycharm(python的一款IDE)有很棒的调试功能,能代替Matlab的WorkSpace变量可视化
推荐的python学习文档和书籍
关于python的基础,建议廖雪峰Python 2.7教程,适合于没有程序基础的人来先看,涉及到python的基本数据类型、循环语句、条件语句、函数、类与对象、文件读写等很重要的基础知识。

涉及到数据运算的话,其实基础教程没什么应用,python各类包都帮你写好了,最好的学习资料还是它的官方文档,文档中的不仅有API,还会有写实例教程
pandas文档
statsmodels文档
scipy和numpy文档
matplotlib文档

TuShare文档
第二,推荐《利用Python进行数据分析》,pandas的开发初衷就是用来处理金融数据的
三、回测框架和网站
两个开源的回测框架
PyAlgoTrade - Algorithmic Trading

Zipline, a Pythonic Algorithmic Trading Library

用Python怎么做量化投资

2. 谁有python写的股市策略回测系统的源码

首先十年的日级别数据量的确不大,使用Python来说的话不应该出现memoryerror,应该是在编程方面需要再多留意,我们在Ricequant上使用的分钟数据大概是200-300个GB左右,也是Python和Java共同合作完成的。 语言只是一个语言,兴许会有各种语法的...

3. python 回测用什么包

初期入手策略测试、数据分析用matlab非常方便 但是策略测试方法、框架弄清楚后,要做正规的回测,还是Python方便,这里的正规是指严格的事件流驱动,虽然速度慢,但是避免未来函数影响、接近实盘的逻辑!

python 回测用什么包

4. 使用python做量化交易策略测试和回验,有哪些比较成熟一些的库

可以尝试下RiceQuant - Beta,完全云端运行策略的产品。
回测以及实时数据更新我们采用了java做核心交易系统引擎~
答题不易,互相理解,您的采纳是我前进的动力
如果我的回答没能帮助您,请继续追问
您也可以向我们团队发出请求,会有更专业的人来为您解答

5. 使用python做量化交易策略测试和回验,有哪些比较成熟一些的库

比较成熟的库可以参考如下几个:
pybacktest
pyalgotrader
zipline
bt
backtrader

pybacktest基于vector,不是event based,快得多得多,缺点也明显。

使用python做量化交易策略测试和回验,有哪些比较成熟一些的库

6. 为什么量化投资策略回测收益那么高,那不是没人亏钱了

回测是存在滑价,和参数过度优化,还有,偷价,这几个问题的,举个例子,回测是用历史数据时,用收盘价计算,收盘价是固定不变的,你的策略百分百能买到,而真实实盘交易时,收盘价是最新价,是动态的,举个例子5日均线金叉10日均线买入1手,在回测中这策略没问题,但在实盘中不行,因为这一天中可能上午5日均线金叉10日,下午信号消失,你上午按策略买入下午信号消失,这就是,实盘和回测的区别,这种例子很多很多都需要一一解决的,做出一套回测数据收益高,但实际用不了的策略太容易了。

7. 选股策略回测用 Matlab 好还是用 Python 好

首先十年的日级别数据量的确不大,使用Python来说的话不应该出现memoryerror,应该是在编程方面需要再多留意,我们在Ricequant上使用的分钟数据大概是200-300个GB左右,也是Python和Java共同合作完成的。
语言只是一个语言,兴许会有各种语法的不同,但是在谈语言的时候我们需要了解背后的工具箱和社区,以及它为什么处理一些事情比另外的一些语言要好。
本身Python初期用来做金融回测等是应该被放弃的,用来开发策略也应该是被放弃的,因为相比matlab的矩阵运算来做开发,实在是太方便了。只不过后来Python推出了series、pandas等一系列的强悍library,pandas的语法基本在“无耻”地模仿matlab和R,而pandas的开发者正是美国大名鼎鼎的对冲基金AQR,因此使data crunching和对数据的一些操作大大便利,此外,又包装了海量的开源社区的数学和科学计算库,也能处理各种的machin  learning等等的问题。
从科学计算的语言的发展来看,从最初的人们对浮点数计算的需求加入了fortran,再一路进行,让工具更加的让科学计算容易再容易(Python也封装了大量早期的数学家们用fortran写的数学计算基础库,这些经历了几十年的考验、加速等等):
numpy: basic array manipulation - 基础的数组处理
scipy: scientific computing in python, including signal processing and optimization - 科学计算,包括信号处理和优化等
matplotlib: visualization and plotting - 几行代码就可以做图形化显示了
IPython: write and run python code interactively in a shell or a notebook - 互动式编程环境,这是能将来替代掉matlab的一个必备,即在一行一行代码的输入、显示过程中学习、改进
pandas: data manipulation - 最重要的矩阵运算等
scikit-learn: machine learning - 机器学习

但是随着以后的发展Python的开源属性就会体现的越来越强大,可以让更多的人享受到其便利和贡献进来,包括Quantopian也放出了zipline的python回测框架,只需要引入yahoo数据即可进行回测,并且Python的速度由于跟C的很好的结合可以达到非常快的速度,而且可以将来和其他系统很容易整合对接实盘交易接口。
由于欧美已经有很多的投行和对冲基金在往Python的技术栈靠拢,因此选择了Python即掌握了一门重要的工具,并且无需跟一家私有化公司进行捆绑。
当然,最后的最后,所有的python回测你都可以来Ricequant - Beta上完成,我们支持海量的市场、财务数据,还有不断加入的和大数据公司合作的舆情数据等等,同时策略回测完还可以做实时模拟交易,享受到实时数据的计算。在云平台上已经支持了几乎所有的Python科学计算库,无需花时间安装、测试等等。

选股策略回测用 Matlab 好还是用 Python 好

8. 指数基金定投怎么回测看收益率

基金净值这收益是有的但是非常的少
理财通是支持1元理财的 年化率最高可大6%
活期理财的手机相对活期的稍微低一点
基金是收益最大的 但是相对定期和活期风险大一点