【亲测免费】 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)进行量化交易。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0150- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
LongCat-Video-Avatar-1.5最新开源LongCat-Video-Avatar 1.5 版本,这是一款经过升级的开源框架,专注于音频驱动人物视频生成的极致实证优化与生产级就绪能力。该版本在 LongCat-Video 基础模型之上构建,可生成高度稳定的商用级虚拟人视频,支持音频-文本转视频(AT2V)、音频-文本-图像转视频(ATI2V)以及视频续播等原生任务,并能无缝兼容单流与多流音频输入。00
auto-devAutoDev 是一个 AI 驱动的辅助编程插件。AutoDev 支持一键生成测试、代码、提交信息等,还能够与您的需求管理系统(例如Jira、Trello、Github Issue 等)直接对接。 在IDE 中,您只需简单点击,AutoDev 会根据您的需求自动为您生成代码。Kotlin03
Intern-S2-PreviewIntern-S2-Preview,这是一款高效的350亿参数科学多模态基础模型。除了常规的参数与数据规模扩展外,Intern-S2-Preview探索了任务扩展:通过提升科学任务的难度、多样性与覆盖范围,进一步释放模型能力。Python00
skillhubopenJiuwen 生态的 Skill 托管与分发开源方案,支持自建与可选 ClawHub 兼容。Python0111