Skip to main content

Futu API

简介

Futu API开源项目可以满足使用Futu API进行量化投资的需求, 并提供包括Python、Json/Protobuf协议的行情及交易接口。


安装

pip install futu-api
注: 本API支持Python2.7/Python3.x。

快速上手


# 导入futu-api
import futu as ft

# 实例化行情上下文对象
quote_ctx = ft.OpenQuoteContext(host="127.0.0.1", port=11111)

# 上下文控制
quote_ctx.start()              # 开启异步数据接收
quote_ctx.set_handler(ft.TickerHandlerBase())  # 设置用于异步处理数据的回调对象(可派生支持自定义)

# 低频数据接口
market = ft.Market.HK
code = 'HK.00123'
code_list = [code]
plate = 'HK.BK1107'
print(quote_ctx.request_trading_days(market, start=None, end=None))   # 获取交易日
print(quote_ctx.get_stock_basicinfo(market, stock_type=ft.SecurityType.STOCK))   # 获取股票信息
print(quote_ctx.get_market_snapshot(code_list))                              # 获取市场快照
print(quote_ctx.get_plate_list(market, ft.Plate.ALL))                         # 获取板块集合下的子板块列表
print(quote_ctx.get_plate_stock(plate))                         # 获取板块下的股票列表

# 高频数据接口
quote_ctx.subscribe(code, [ft.SubType.QUOTE, ft.SubType.TICKER, ft.SubType.K_DAY, ft.SubType.ORDER_BOOK, ft.SubType.RT_DATA, ft.SubType.BROKER])
print(quote_ctx.get_stock_quote(code))  # 获取报价
print(quote_ctx.get_rt_ticker(code))   # 获取逐笔
print(quote_ctx.get_cur_kline(code, num=100, ktype=ft.KLType.K_DAY))   #获取当前K线
print(quote_ctx.get_order_book(code))       # 获取摆盘
print(quote_ctx.get_rt_data(code))          # 获取分时数据
print(quote_ctx.get_broker_queue(code))     # 获取经纪队列

# 停止异步数据接收
quote_ctx.stop()

# 关闭对象
quote_ctx.close()

# 实例化港股交易上下文对象
trade_hk_ctx = ft.OpenSecTradeContext(host="127.0.0.1", port=11111)

# 交易接口列表
print(trade_hk_ctx.unlock_trade(password='123456'))                # 解锁接口
print(trade_hk_ctx.accinfo_query(trd_env=ft.TrdEnv.SIMULATE))      # 查询账户信息
print(trade_hk_ctx.place_order(price=1.1, qty=2000, code=code, trd_side=ft.TrdSide.BUY, order_type=ft.OrderType.NORMAL, trd_env=ft.TrdEnv.SIMULATE))  # 下单接口
print(trade_hk_ctx.order_list_query(trd_env=ft.TrdEnv.SIMULATE))      # 查询订单列表
print(trade_hk_ctx.position_list_query(trd_env=ft.TrdEnv.SIMULATE))    # 查询持仓列表

trade_hk_ctx.close()


示例策略

  • 示例策略文件位于目录: (futu-api包安装目录)/py-futu-api/examples 下,用户可参考实例策略来学习API的使用。

调试开关和推送记录

  • set_futu_debug_model函数可以打开或关闭调试级别的log记录。
  • 如果打开记录,则会记录info级别的log并且记录所有逐笔、摆盘、券商经纪的推送记录,以便于后面排查,文件记录在%appdata%(%HOME%)\com.futunn.FutuOpenD\Log下面
  • tools\analysis下面会有对逐笔、摆盘、券商经纪的推送记录的分析脚本,与我们联系,拿到原始交易所数据后,可以载入比对(beta功能)

组织结构

.
├── futu
│   ├── __init__.py
│   ├── VERSION.txt
│   ├── common                        #主要框架代码
│   │   ├── __init__.py
│   │   ├── callback_executor.py
│   │   ├── comm_add_path.py
│   │   ├── conn_key.txt
│   │   ├── conn_mng.py
│   │   ├── constant.py
│   │   ├── err.py
│   │   ├── ft_logger.py
│   │   ├── handler_context.py
│   │   ├── network_manager.py
│   │   ├── open_context_base.py
│   │   ├── pbjson.py
│   │   ├── sys_config.py
│   │   ├── utils.py
│   │   └── pb                        #Protobuf协议定义及生成文件
│   │       ├── __init__.py
│   │       ├── *.proto
│   │       └── *_pb2.py
│   ├── examples                      #示例demo
│   │   ├── __init__.py
│   │   ├── get_mkt_snapshot_demo.py
│   │   ├── macd_strategy.py
│   │   ├── quote_and_trade_demo.py
│   │   ├── quote_push.py
│   │   ├── simple_filter_demo.py
│   │   └── stocksell_demo.py
│   ├── quote                         #行情相关接口代码
│   │   ├── __init__.py
│   │   ├── head.html
│   │   ├── open_quote_context.py
│   │   ├── quote_get_warrant.py
│   │   ├── quote_query.py
│   │   ├── quote_response_handler.py
│   │   ├── quote_stockfilter_info.py
│   │   └── quote_tool.py
│   ├── trade                         #交易相关接口代码
│   │   ├── __init__.py
│   │   ├── open_trade_context.py
│   │   ├── trade_query.py
│   │   └── trade_response_handler.py
│   └── tools                         #工具及代码生成脚本
│       ├── __init__.py
│       ├── auto_generate.py
│       ├── generate_code.py
│       ├── load_template.py
│       └── analysis
│           ├── broker_analysis.py
│           ├── orderbook_analysis.py
│           └── ticker_analysis.py
├── requirements.txt
└── setup.py

使用须知

  • python脚本运行前,需先启动FutuOpenD网关客户端

API与FutuOpenD网关客户端的架构

image


使用说明

  • 有任何问题可以到 issues 处提出,我们会及时进行解答。
  • 使用新版本时请先仔细阅读接口文档,大部分问题都可以在接口文档中找到你想要的答案。
  • 欢迎大家提出建议、也可以提出各种需求,我们一定会尽量满足大家的需求。

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

futu_api-10.10.7008.tar.gz (6.4 MB view details)

Uploaded Source

File details

Details for the file futu_api-10.10.7008.tar.gz.

File metadata

  • Download URL: futu_api-10.10.7008.tar.gz
  • Upload date:
  • Size: 6.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for futu_api-10.10.7008.tar.gz
Algorithm Hash digest
SHA256 3c607c7dce02a3a2b308f3424420277a360d7b3a4ba4508b39eaa4ff11271f98
MD5 b21da2cc6adee2c9f3aa425278938d02
BLAKE2b-256 6ff3704504667433ecb06d5e84dc308786e0067b626143a55fa0453480af46a3

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

10.10.7008 This release

1 file

10.9.6908

1 file

10.8.6808

1 file

10.7.6708

1 file

10.6.6608

1 file

10.5.6508

1 file

10.4.6408

1 file

10.4.4608

1 file

10.3.6308

1 file

10.2.6218

1 file

10.2.6208

1 file

10.1.6108

1 file

10.0.6008

1 file

9.6.5608

1 file

9.5.5508

1 file

9.4.5408

1 file

9.3.5308

1 file

9.2.5208

1 file

9.1.5108

1 file

9.0.5008

1 file

8.8.4808

1 file

8.7.4708

1 file

8.6.4608

1 file

8.5.4508

1 file

8.4.4408

1 file

8.2.4208

1 file

8.1.4108

1 file

8.0.4008

1 file

7.7.3908

1 file

7.6.3808

1 file

7.5.3708

1 file

7.4.3610

1 file

7.4.3608

1 file

7.3.3508

1 file

7.2.3408

1 file

7.1.3308

1 file

7.0.3208

1 file

6.6.3108

1 file

6.5.3008

1 file

6.4.2908

1 file

6.3.2808

1 file

6.2.2708

1 file

6.1.2608

1 file

6.0.2508

1 file

5.12.2408

1 file

5.11.2308

1 file

5.10.2208

1 file

5.9.2108

1 file

5.8.2008

1 file

5.7.1908

1 file

5.6.1808

1 file

5.5.1708

1 file

5.4.1608

1 file

5.3.1510

1 file

5.3.1508

1 file

5.2.1408

1 file

5.1.1320

1 file

5.0.1310

1 file

4.0.1300

1 file

3.27.2

1 file

3.27.0

1 file

3.26.1

1 file

3.26.0

1 file

3.25.0

1 file

3.24.0

1 file

3.23.0

1 file

3.22.0

1 file

3.21.0

1 file

3.20.0

1 file

3.19.0

1 file

3.18.0

1 file

3.17.0

1 file

3.16.0

1 file

3.15.0

1 file

3.14.1

1 file

3.13.1

1 file

3.12.0

1 file

3.11.0

1 file

3.10.2

1 file

3.9.1

1 file

3.8.0

1 file

3.7.2

1 file

3.7.1

1 file

3.6.3

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page