{"id":13625420,"url":"https://github.com/FutunnOpen/py-futu-api","last_synced_at":"2025-04-16T06:32:44.604Z","repository":{"id":41434384,"uuid":"156638192","full_name":"FutunnOpen/py-futu-api","owner":"FutunnOpen","description":"富途 OpenAPI  Python SDK","archived":false,"fork":false,"pushed_at":"2023-08-24T12:21:07.000Z","size":15207,"stargazers_count":1026,"open_issues_count":56,"forks_count":219,"subscribers_count":67,"default_branch":"master","last_synced_at":"2024-10-30T00:26:57.109Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FutunnOpen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2018-11-08T02:23:59.000Z","updated_at":"2024-10-28T11:49:28.000Z","dependencies_parsed_at":"2024-01-14T07:18:15.298Z","dependency_job_id":null,"html_url":"https://github.com/FutunnOpen/py-futu-api","commit_stats":{"total_commits":456,"total_committers":16,"mean_commits":28.5,"dds":0.6359649122807017,"last_synced_commit":"5a8064a09f4456657e746655f3164cdbc22aa606"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FutunnOpen%2Fpy-futu-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FutunnOpen%2Fpy-futu-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FutunnOpen%2Fpy-futu-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FutunnOpen%2Fpy-futu-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FutunnOpen","download_url":"https://codeload.github.com/FutunnOpen/py-futu-api/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223700433,"owners_count":17188319,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T21:01:55.523Z","updated_at":"2024-11-08T14:31:20.137Z","avatar_url":"https://github.com/FutunnOpen.png","language":"Python","readme":"# 富途 OpenAPI\n\n### 简介\n\n[​**Futu API**](https://openapi.futunn.com/futu-api-doc/)开源项目可以满足使用[**Futu OpenAPI**](https://www.futunn.com/OpenAPI)进行量化投资的需求, 并提供包括Python、Json/Protobuf协议的行情及交易接口。\n\n- [官方在线文档](https://openapi.futunn.com/futu-api-doc/)\n\n-------------------\n\n### 安装\n```\npip install futu-api\n```\n\n###### 注: 本API支持Python2.7/Python3.x, 推荐安装anaconda2或anaconda3环境，方便快捷。\n\n---\n\n### 快速上手\n```\n\n# 导入futu-api\nimport futu as ft\n\n# 实例化行情上下文对象\nquote_ctx = ft.OpenQuoteContext(host=\"127.0.0.1\", port=11111)\n\n# 上下文控制\nquote_ctx.start()              # 开启异步数据接收\nquote_ctx.set_handler(ft.TickerHandlerBase())  # 设置用于异步处理数据的回调对象(可派生支持自定义)\n\n# 低频数据接口\nmarket = ft.Market.HK\ncode = 'HK.00123'\ncode_list = [code]\nplate = 'HK.BK1107'\nprint(quote_ctx.get_trading_days(market, start=None, end=None))   # 获取交易日\nprint(quote_ctx.get_stock_basicinfo(market, stock_type=ft.SecurityType.STOCK))   # 获取股票信息\nprint(quote_ctx.get_autype_list(code_list))                                  # 获取复权因子\nprint(quote_ctx.get_market_snapshot(code_list))                              # 获取市场快照\nprint(quote_ctx.get_plate_list(market, ft.Plate.ALL))                         # 获取板块集合下的子板块列表\nprint(quote_ctx.get_plate_stock(plate))                         # 获取板块下的股票列表\n\n# 高频数据接口\nquote_ctx.subscribe(code, [ft.SubType.QUOTE, ft.SubType.TICKER, ft.SubType.K_DAY, ft.SubType.ORDER_BOOK, ft.SubType.RT_DATA, ft.SubType.BROKER])\nprint(quote_ctx.get_stock_quote(code))  # 获取报价\nprint(quote_ctx.get_rt_ticker(code))   # 获取逐笔\nprint(quote_ctx.get_cur_kline(code, num=100, ktype=ft.KLType.K_DAY))   #获取当前K线\nprint(quote_ctx.get_order_book(code))       # 获取摆盘\nprint(quote_ctx.get_rt_data(code))          # 获取分时数据\nprint(quote_ctx.get_broker_queue(code))     # 获取经纪队列\n\n# 停止异步数据接收\nquote_ctx.stop()\n\n# 关闭对象\nquote_ctx.close()\n\n# 实例化港股交易上下文对象\ntrade_hk_ctx = ft.OpenHKTradeContext(host=\"127.0.0.1\", port=11111)\n\n# 交易接口列表\nprint(trade_hk_ctx.unlock_trade(password='123456'))                # 解锁接口\nprint(trade_hk_ctx.accinfo_query(trd_env=ft.TrdEnv.SIMULATE))      # 查询账户信息\nprint(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))  # 下单接口\nprint(trade_hk_ctx.order_list_query(trd_env=ft.TrdEnv.SIMULATE))      # 查询订单列表\nprint(trade_hk_ctx.position_list_query(trd_env=ft.TrdEnv.SIMULATE))    # 查询持仓列表\n\ntrade_hk_ctx.close()\n\n```\n\n---\n\n### 示例策略\n\n- 示例策略文件位于目录: (futu-api包安装目录)/py-futu-api/examples 下，用户可参考实例策略来学习API的使用。\n\n---\n\n### 调试开关和推送记录\n\n- set_futu_debug_model函数可以打开或关闭调试级别的log记录。\n- 如果打开记录，则会记录info级别的log并且记录所有逐笔、摆盘、券商经纪的推送记录，以便于后面排查，文件记录在%appdata%(%HOME%)\\com.futunn.FutuOpenD\\Log下面\n- examples\\analysis下面会有对逐笔、摆盘、券商经纪的推送记录的分析脚本，与我们联系，拿到原始交易所数据后，可以载入比对（beta功能）\n\n---\n\n### 组织结构\n\n```\n.\n├── futu\n│   ├── common #主要框架代码\n│   │   ├── callback_executor.py\n│   │   ├── comm_add_path.py\n│   │   ├── conn_key.txt\n│   │   ├── conn_mng.py\n│   │   ├── constant.py\n│   │   ├── err.py\n│   │   ├── ft_logger.py\n│   │   ├── handler_context.py\n│   │   ├── __init__.py\n│   │   ├── network_manager.py\n│   │   ├── open_context_base.py\n│   │   ├── pb\n│   │   │   └── __init__.py\n│   │   ├── pbjson.py\n│   │   ├── sys_config.py\n│   │   └── utils.py\n│   ├── examples #一些简单的演示demo\n│   │   ├── analysis\n│   │   │   ├── broker_analysis.py\n│   │   │   ├── orderbook_analysis.py\n│   │   │   └── ticker_analysis.py\n│   │   ├── check_all_get_push.py\n│   │   ├── __init__.py\n│   │   ├── loop_get_mkt_snapshot.py\n│   │   ├── macd.py\n│   │   ├── simple.py\n│   │   ├── stocksell.py\n│   │   └── tiny_quant #这里是一个历史遗留的复杂回测框架，暂时继续保留两个demo，这里建议开发者自己找好用的回测框架，不要再依赖这个破碎框架（裁剪自vnpy）\n│   │       ├── demo\n│   │       │   ├── __init__.py\n│   │       │   ├── tq_macd\n│   │       │   │   ├── __init__.py\n│   │       │   │   ├── setting.json\n│   │       │   │   └── TinyStrateMACD.py\n│   │       │   └── tq_sample\n│   │       │       ├── __init__.py\n│   │       │       ├── setting.json\n│   │       │       └── TinyStrateSample.py\n│   │       ├── __init__.py\n│   │       └── tiny_quant_frame #裁剪自vnpy\n│   │           ├── event\n│   │           │   ├── eventEngine.py\n│   │           │   ├── eventType.py\n│   │           │   └── __init__.py\n│   │           ├── FutuDataEvent.py\n│   │           ├── FutuMarketEvent.py\n│   │           ├── __init__.py\n│   │           ├── setting.json\n│   │           ├── TinyDefine.py\n│   │           ├── TinyQuantBase.py\n│   │           ├── TinyQuantFrame.py\n│   │           ├── TinyStrateBase.py\n│   │           └── TinyStrateSample.py\n│   ├── __init__.py\n│   ├── quote #行情相关接口代码\n│   │   ├── __init__.py\n│   │   ├── open_quote_context.py\n│   │   ├── quote_query.py\n│   │   └── quote_response_handler.py\n│   ├── trade #交易相关接口代码\n│   │   ├── __init__.py\n│   │   ├── open_trade_context.py\n│   │   ├── trade_query.py\n│   │   └── trade_response_handler.py\n│   └── VERSION.txt\n├── setup\n│   ├── PyCrypto-Wheels.url\n│   └── .url\n└── setup.py\n```\n\n---\n\n### 使用须知\n\n- python脚本运行前，需先启动[FutuOpenD](https://www.futunn.com/download/openAPI)网关客户端\n\n### API与FutuOpenD网关客户端的架构\n\n![image](https://futunnopen.github.io/futu-api-doc/_images/API.png)\n\n***\n\n\n### API及FutuOpenD客户端交流方式\n\n* 富途开放API群(229850364, 108534288) \n* 有一定交易额或特殊需求的用户请在入群后联系群主\n\n***\n\n### 使用说明\n\n* 有任何问题可以到 issues  处提出，我们会及时进行解答。\n* 使用新版本时请先仔细阅读接口文档，大部分问题都可以在接口文档中找到你想要的答案。\n* 欢迎大家提出建议、也可以提出各种需求，我们一定会尽量满足大家的需求。\n\n---\n","funding_links":[],"categories":["Python"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FFutunnOpen%2Fpy-futu-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FFutunnOpen%2Fpy-futu-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FFutunnOpen%2Fpy-futu-api/lists"}