期货量化软件:使用Python制作带有趋势标记的数据集使用

在上一篇文章中,我们介绍了如何通过观察图表上的趋势来标记数据,并将数据保存到“csv”文件中。在这一部分中,让我们以不同的方式思考:从数据本身开始。

我们将使用Python处理数据。为什么选择Python?因为它方便快捷,并不意味着它运行得很快,但Python庞大的库可以帮助我们大大缩短开发周期。所以,我们开始吧!


选择哪个Python库
我们都知道Python有很多优秀的开发人员来提供各种各样的库,这让我们很容易进行开发,为我们节省了大量的开发时间。以下是我收集的一些相关的python库,其中一些库基于不同的架构,一些库可以用于交易,一些库可用于回测。它包括但不限于标注数据,感兴趣的可以尝试研究一下,本文不做详细介绍。

statsmodels - Python模块,允许用户探索数据、估计统计模型和执行统计测试:http://statsmodels.sourceforge.net
dynts - 用于时间序列分析和操作的Python包:https://github.com/quantmind/dynts
PyFlux - 用于模型上的时间序列建模和推理(频率学家和贝叶斯)的Python库:https://github.com/RJT1990/pyflux
tsfresh - 从时间序列中自动提取相关特征:https://github.com/blue-yonder/tsfresh
hasura/quandl-metabase - Hasura快速启动,可视化Quandl的使用Metabase的时间序列数据集:https://platform.hasura.io/hub/projects/anirudhm/quandl-metabase-time-series
Facebook Prophet - 为具有线性或非线性增长的多季节性的时间序列数据生成高质量预测的工具:https://github.com/facebook/prophet
tsmoothie - 一个用于以矢量化方式进行时间序列平滑和异常值检测的python库:https://github.com/cerlymarco/tsmoothie
pmdarima - 一个统计库,旨在填补Python时间序列分析功能的空白,包括R的auto.arima函数的等效功能:https://github.com/alkaline-ml/pmdarima
gluon-ts - 使用Python为vProbabilistic时间序列建模:https://github.com/awslabs/gluon-ts
gs quant - 用于量化金融的Python工具包:https://github.com/goldmansachs/gs-quant
willowtree - 用于衍生品定价的健壮灵活的Python实现:https://github.com/federicomariamassari/willowtree
financial-engineering - 使用 Python 的蒙特卡罗方法在金融工程项目中的应用:https://github.com/federicomariamassari/financial-engineering
optlib - 用Python编写的金融期权定价库:https://github.com/dbrojas/optlib
tf-quant-finance - 用于量化金融的高性能TensorFlow库:https://github.com/google/tf-quant-finance
Q-Fin - 用于数学金融的Python库:https://github.com/RomanMichaelPaolucci/Q-Fin
Quantsbin - 用于定价和绘制期权价格及其相关各种其他分析的工具:https://github.com/quantsbin/Quantsbin
finoptions - R包fOptions的完整python实现,以及用于定价各种选项的fExoticOptions的部分实现:https://github.com/bbcho/finoptions-dev
pypme - PME(公开市场等价物,Public Market Equivalent)计算:https://github.com/ymyke/pypme
Blankly - 完全集成的回溯测试、纸面交易和实时部署:https://github.com/Blankly-Finance/Blankly
TA-Lib - TA-Lib的Python封装(http://ta-lib.org/):https://github.com/mrjbq7/ta-lib
zipline - Python算法交易库:https://github.com/quantopian/zipline
QuantSoftware Toolkit - 基于Python的开源软件框架,旨在支持投资组合构建和管理:https://github.com/QuantSoftware/QuantSoftwareToolkit
finta - Pandas实施的常见金融技术分析指标:https://github.com/peerchemist/finta
Tulipy - 金融技术分析指标库(tulipindicators的Python绑定):https://github.com/cirla/tulipy
lppls - 用于拟合对数周期幂律奇异性(LPPLS)模型的Python模块:https://github.com/Boulder-Investment-Technologies/lppls
在那里,我们使用“pytrendseries”库来处理数据、标记趋势和制作数据集,因为该库具有操作简单、可视化方便的优点。让我们开始制作数据集吧!
使用MetaTrader5库从MT5客户端获取数据
当然,最基本的是你的电脑上已经安装了python,如果没有,作者不建议安装官方版本的python,而是更喜欢使用易于维护的Anaconda。但普通版的Anaconda体积巨大,集成了丰富的内容,包括可视化管理、编辑等,令人尴尬的是我几乎不用它们,所以我强烈推荐minincoda,简洁明了,简单实用。Miniconda官方网站地址:Miniconda::Anaconda.org/

1. 基本环境初始化

首先创建一个虚拟环境,然后打开Anaconda Promote,键入:

conda create -n Data_label python=3.10
2. 安装必要的库

安装我们的基本库MetaTrader 5,在conda Promote中键入:

pip install MetaTrader5
3. 创建python文件

打开MetaEditor,找到“工具”->“选项”,在“编译器”选项的python列中填写您的python路径,我自己的路径是“G:miniconda3\envs\Data_label”:

4. 连接客户端并获取数据

删除原来自动生成的代码,并将其替换为以下代码:

# Copyright 2021, MetaQuotes Ltd.
# https://www.mql5.com

import MetaTrader5 as mt

if not mt.initialize():
    print('initialize() failed!')
else:
   print(mt.version())
   mt.shutdown()
 

  • 20
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值