哪家券商有API接口?ptrade怎么用python写股票量化交易策略
发布时间:2024-9-3 15:46阅读:466
before_trading_start(可选)
before_trading_start(context, data)
使用场景
该函数仅在回测、交易模块可用
接口说明
该函数在每天开始交易前被调用一次,用于添加每天都要初始化的信息,如无盘前初始化需求,该函数可以在策略中不做定义。
注意事项:
- 在回测中,该函数在每个回测交易日8:30分执行。
- 在交易中,该函数在开启交易时立即执行,从隔日开始每天9:10分(默认)执行。
- 当在9:10前开启交易时,受行情未更新原因在该函数内调用实时行情接口会导致数据有误。可通过在该函数内sleep至9:10分或调用实时行情接口改为run_daily执行等方式进行避免。
可调用接口
set_universe(回测/交易)get_Ashares(研究/回测/交易)set_yesterday_position(回测)get_stock_info(研究/回测/交易)get_index_stocks(研究/回测/交易)get_fundamentals(研究/回测/交易)get_trading_day(回测/交易)get_all_trades_days(研究/回测/交易)get_trade_days(研究/回测/交易)get_history(回测/交易)get_price(研究/回测/交易)get_individual_entrust(交易)get_individual_transaction(交易)convert_position_from_csv(回测)get_stock_name(研究/回测/交易)get_stock_status(研究/回测/交易)get_stock_exrights(研究/回测/交易)get_stock_blocks(研究/回测/交易)get_etf_list(交易)get_industry_stocks(研究/回测/交易)get_user_name(回测/交易)get_cb_list(交易)get_deliver(交易)get_fundjour(交易)get_research_path(回测/交易)get_market_list(研究/回测/交易)get_market_detail(研究/回测/交易)permission_test(交易)get_trade_name(交易)set_future_commission(回测(期货))set_margin_rate(回测(期货))get_margin_rate(回测(期货))get_instruments(回测/交易(期货))get_MACD(回测/交易)get_KDJ(回测/交易)get_RSI(回测/交易)get_CCI(回测/交易)create_dir(回测/交易)get_opt_objects(研究/回测/交易(期权))get_opt_last_dates(研究/回测/交易(期权))get_opt_contracts(研究/回测/交易(期权))get_contract_info(研究/回测/交易(期权))set_parameters(回测/交易)get_cb_info(研究/交易)get_enslo_security_info(交易)get_ipo_stocks(交易)
参数
context: Context对象,存放有当前的账户及持仓信息;
data:保留字段暂无数据;
返回
None
示例
def initialize(context):
#g为全局变量
g.security = '600570.SS'
set_universe(g.security)
def before_trading_start(context, data):
log.info(g.security)
def handle_data(context, data):
order('600570.SS',100)
handle_data(必选)
handle_data(context, data)
使用场景
该函数仅在回测、交易模块可用
接口说明
该函数在交易时间内按指定的周期频率运行,是用于处理策略交易的主要模块,根据策略保存时的周期参数分为每分钟运行和每天运行,是策略运行的唯二必须定义函数之一。
注意事项:
- 该函数每个单位周期执行一次
- 如果是日线级别策略,每天执行一次。股票回测场景下,在15:00执行;股票交易场景下,执行时间为券商实际配置时间。
- 如果是分钟级别策略,每分钟执行一次,股票回测场景下,执行时间为9:31 -- 15:00,股票交易场景下,执行时间为9:30 -- 14:59。
- 回测与交易中,handle_data函数不会在非交易日触发(如回测或交易起始日期为2015年12月21日,则策略在2016年1月1日-3日时,handle_data不会运行,4日继续运行)。
可调用接口
get_trading_day(回测/交易)get_all_trades_days(研究/回测/交易)get_trade_days(研究/回测/交易)get_history(回测/交易)get_price(研究/回测/交易)get_individual_entrust(交易)get_individual_transaction(交易)get_gear_price(交易)get_stock_name(研究/回测/交易)get_stock_status(研究/回测/交易)get_stock_exrights(研究/回测/交易)get_stock_blocks(研究/回测/交易)get_index_stocks(研究/回测/交易)get_industry_stocks(研究/回测/交易)get_fundamentals(研究/回测/交易)get_Ashares(研究/回测/交易)get_snapshot(交易)convert_position_from_csv(回测)order(回测/交易)order_target(回测/交易)order_value(回测/交易)order_target_value(回测/交易)order_market(交易)ipo_stocks_order(交易)after_trading_order(交易)after_trading_cancel_order(交易)etf_basket_order(交易)etf_purchase_redemption(交易)cancel_order(回测/交易)get_stock_info(研究/回测/交易)get_order(回测/交易)get_orders(回测/交易)get_open_orders(回测/交易)get_trades(回测/交易)get_position(回测/交易)get_positions(回测/交易)get_etf_info(交易)get_etf_stock_info(交易)get_etf_stock_list(交易)get_etf_list(交易)get_all_orders(交易)cancel_order_ex(交易)debt_to_stock_order(交易)get_user_name(回测/交易)get_research_path(回测/交易)get_marginsec_stocks(交易)get_margincash_stocks(交易)debt_to_stock_order(交易)get_margin_contractreal(交易)get_margin_contract(交易)marginsec_direct_refund(交易)get_margin_entrans_amount(交易)get_margin_contract(交易)margincash_direct_refund(交易)marginsec_open(交易)marginsec_close(交易)margincash_open(交易)margincash_close(交易)margin_trade(交易)get_marginsec_close_amount(交易)get_marginsec_open_amount(交易)get_margincash_close_amount(交易)get_margincash_open_amount(交易)get_cb_list(交易)get_tick_direction(交易)get_sort_msg(交易)get_trade_name(交易)get_margin_rate(回测(期货))get_instruments(回测/交易(期货)buy_open(回测/交易(期货)sell_close(回测/交易(期货)sell_close(回测/交易(期货)buy_close(回测/交易(期货)get_MACD(回测/交易)get_KDJ(回测/交易)get_RSI(回测/交易)get_CCI(回测/交易)create_dir(回测/交易)get_opt_objects(研究/回测/交易(期权))get_opt_last_dates(研究/回测/交易(期权))get_opt_contracts(研究/回测/交易(期权))get_contract_info(研究/回测/交易(期权))set_parameters(回测/交易)get_covered_lock_amount(交易(期权))get_covered_unlock_amount(交易(期权))buy_open(交易(期权))sell_close(交易(期权))sell_open(交易(期权))buy_close(交易(期权))open_prepared(交易(期权))close_prepared(交易(期权))option_exercise(交易(期权))option_covered_lock(交易(期权))option_covered_unlock(交易(期权))get_cb_info(研究/交易)get_enslo_security_info(交易)get_ipo_stocks(交易)check_limit(回测/研究/交易)
参数
context: Context对象,存放有当前的账户及持仓信息;
data:一个字典(dict),key是标的代码,value是当时的SecurityUnitData对象,存放当前周期(日线策略,则是当天;分钟策略,则是这一分钟)的数据;
注意:为了加速,data中的数据只包含股票池中所订阅标的的信息,可使用data[security]的方式来获取当前周期对应的标的信息;
返回
None
示例
def initialize(context):
#g为全局变量
g.security = '600570.SS'
set_universe(g.security)
def handle_data(context, data):
order('600570.SS',100)
后续小编会持续更新关于ptrade量化的开通和使用分享,感兴趣的朋友可以私信评论关注哦!


温馨提示:投资有风险,选择需谨慎。
-
2025年基金怎么买?中信证券最新资产配置策略曝光
2025-08-18 11:11
-
恒大退市落幕,谁在退市边缘?投资者避险攻略请收好
2025-08-18 11:11
-
军工产业大爆发!背后逻辑、投资解读与应对策略全解析
2025-08-18 11:11