量化交易过程
- 构思策略
- 设计程序执行方法
- 程序编码
- 回测
- 调试参数
策略的构成
- 阿尔法模型
- 风险控制模型
- 交易成本模型
- 执行模型
阿尔法模型:筛选/排序选取股票、择时入场、仓位与持仓调整。模型元素:交易标的、入场时机、仓位控制、退出时机。
风险控制模型:系统性风险,整体大盘崩溃风险控制;非系统性风险,个股止损。
聚宽API归类
取股票列表API
get_index_stocks
get_industry_stocks
get_concept_stocks
get_all_securities
取股票历史信息API
get_price 多属性属性
history 回测专用,单属性获取
attribute_hisroty 回测专用,多属性获取
全局data对象
get_security_info 单支股票信息
get_fundamentals
取股票当前回测信息API
get_current_data
下单API
order
order_target
order_value
order_target_value
#筛选掉停牌和ST股票
def filter_paused_and_st_stock(stock_list): current_data = get_current_data() return [stock for stock in stock_list if not current_data[stock].paused and not current_data[stock].is_st and 'ST' not in current_data[stock]. name and '*' not in current_data[stock].name and '退' not in current_data[stock].name]
#筛选掉创业板股票
def filter_gem_stock(context, stock_list): return [stock for stock in stock_list if stock[0:3] != '300']
执行模型
#持仓股票与目标股票对比,计算出买入和卖出的股票列表
def filter_buy_and_sell_stock(holding_stock_list,stock_list): buy_stocks=[] sell_stocks=[] for stock in range(0,len(stock_list)): if stock_list[stock] not in holding_stock_list: buy_stocks.append(stock_list[stock]) for stock in range(0,len(holding_stock_list)): if holding_stock_list[stock] not in stock_list: sell_stocks.append(holding_stock_list[stock]) return (buy_stocks,sell_stocks)