【亲测免费】 Futu Algorithmic Trading Solution (Python) 使用教程
1. 项目介绍
Futu Algorithmic Trading Solution (Python) 是一个基于富途OpenAPI开发的量化交易程序。该项目旨在为香港股票市场的用户提供一个全面的量化交易解决方案,支持FutuNiuNiu和FutuMooMoo用户。项目的主要功能包括历史K线数据下载、回测交易策略、实时低延迟交易、高级股票筛选器以及即将推出的GUI支持。
2. 项目快速启动
2.1 安装依赖
首先,确保你已经安装了conda环境管理工具。然后,使用以下命令安装项目的依赖:
conda env create -f environment.yml
2.2 安装FutuOpenD
根据你的操作系统(Windows/MacOS/CentOS/Ubuntu),从以下链接下载并安装FutuOpenD:
https://www.futunn.com/download/OpenAPI
确保你至少有一个LV1的订阅级别,以便获取所需的行情数据。
2.3 配置文件
在项目根目录下创建一个config.ini文件,并根据以下模板进行配置:
[FutuOpenD Config]
Host = <OpenD Host>
Port = <OpenD Port>
WebSocketPort = <OpenD WebSocketPort>
WebSocketKey = <OpenD WebSocketKey>
TrdEnv = <SIMULATE or REAL>
[FutuOpenD Credential]
Username = <Futu Login Username>
Password_md5 = <Futu Login Password Md5 Value>
[FutuOpenD DataFormat]
HistoryDataFormat = ["code", "time_key", "open", "close", "high", "low", "pe_ratio", "turnover_rate", "volume", "turnover", "change_rate", "last_close"]
SubscribedDataFormat = None
[TradePreference]
LotSizeMultiplier = <# of Stocks to Buy per Signal>
MaxPercPerAsset = <Maximum % of Capital Allocated per Asset>
StockList = <Subscribed Stocks in List Format>
[Backtesting Commission HK]
FixedCharge = <Fixed Transaction Fee and Tax in HKD - 15.5>
PercCharge = <Percentage Transaction Fee in % - 0.1097>
[Email]
Port = <Server SMTP Setting>
SmtpServer = <Server SMTP Setting>
Sender = <Sender Email Address - account1@example.com>
Login = <Sender Email Address - account1@example.com>
Password = <Sender Email Password>
SubscriptionList = ["account1@example.com", "account2@example.com"]
[TuShare Credential]
token = 2134342ABC2D03780772038A7816
2.4 下载历史数据
使用以下命令下载历史K线数据:
python main_backend.py --force_update
2.5 执行算法交易
使用以下命令执行预定义的交易策略:
python main_backend.py --strategy MACD_Cross
3. 应用案例和最佳实践
3.1 回测交易策略
用户可以使用Pyfolio等工具对历史数据进行回测,生成总结报告和可视化结果。对于更高级的用户,可以使用Amibroker等商业解决方案进行回测。
3.2 实时交易
项目支持实时低延迟交易,用户可以根据自己的偏好为每个股票指定交易策略。例如,使用MACD、KDJ和收盘价三个技术指标来决定买入或卖出订单。
3.3 高级股票筛选器
用户可以使用自定义的股票筛选策略筛选高质量的股票,并通过邮件订阅功能通知朋友。
4. 典型生态项目
4.1 Pyfolio
Pyfolio是一个用于金融时间序列分析和回测的Python库,可以与Futu Algorithmic Trading Solution结合使用,进行策略回测和性能分析。
4.2 Amibroker
Amibroker是一个专业的量化交易平台,支持复杂的策略回测和优化,适合高级用户使用。
4.3 TuShare
TuShare是一个用于获取中国股票市场数据的Python库,可以与Futu Algorithmic Trading Solution结合使用,获取更多的市场数据。
通过以上步骤,你可以快速启动并使用Futu Algorithmic Trading Solution (Python)进行量化交易。
kernelopenEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。C0134
let_datasetLET数据集 基于全尺寸人形机器人 Kuavo 4 Pro 采集,涵盖多场景、多类型操作的真实世界多任务数据。面向机器人操作、移动与交互任务,支持真实环境下的可扩展机器人学习00
mindquantumMindQuantum is a general software library supporting the development of applications for quantum computation.Python059
PaddleOCR-VLPaddleOCR-VL 是一款顶尖且资源高效的文档解析专用模型。其核心组件为 PaddleOCR-VL-0.9B,这是一款精简却功能强大的视觉语言模型(VLM)。该模型融合了 NaViT 风格的动态分辨率视觉编码器与 ERNIE-4.5-0.3B 语言模型,可实现精准的元素识别。Python00
GLM-4.7-FlashGLM-4.7-Flash 是一款 30B-A3B MoE 模型。作为 30B 级别中的佼佼者,GLM-4.7-Flash 为追求性能与效率平衡的轻量化部署提供了全新选择。Jinja00
AgentCPM-ReportAgentCPM-Report是由THUNLP、中国人民大学RUCBM和ModelBest联合开发的开源大语言模型智能体。它基于MiniCPM4.1 80亿参数基座模型构建,接收用户指令作为输入,可自主生成长篇报告。Python00