目前随着国内二级股市已处于相对较高的水平,但是对于高净值的用户来说,在量化投资市场上使用股票编程交易接口系统上具有低波动性和自动交易的定量对冲投资模型体系,包括了一些高性价比、大型基金和长期投资的资产品种,所以大家在选择股票实盘交易系统投资产品时,可以根据系统的提示进行筛选,高效执行下单的功能,也就是实现自动选股交易的过程。与此同时,股票编程交易接口系统也交易自动设置止损,具体操作如下:
我们先从股票编程交易接口的性能出发,它主要可以充当哪些角色来完成相应的动作呢?如下文档所示:
基本函数 | Init | API 初始化 |
Deinit | API 反初始化 | |
Logon | 登录交易账户 | |
Logoff | 登出交易账户 | |
QueryData | 查询各类交易数据 | |
QueryHistoryData | 查询各类历史数据 | |
SendOrder | 委托下单 | |
CancelOrder | 委托撤单 | |
GetQuote | 获取五档报价 | |
Repay | 融资融券账户直接还款 | |
GetExpireDate | 查询 API 授权到期日期 | |
单账户批量函数 | QueryDatas | 单账户批量查询各类交易数据 |
SendOrders | 单账户批量下单 | |
CancelOrders | 单账户批量撤单 | |
GetQuotes | 单账户批量获取五档报价 | |
多账户批量函数 | QueryMultiAccountsDatas | 多账户批量查询各类交易数据 |
SendMultiAccountsOrders | 多账户批量下单 | |
CancelMultiAccountsOrders | 多账户批量撤单 | |
GetMultiAccountsQuotes | 多账户批量获取五档报价 | |
也就是说,实盘股票接口会通过以上这些性能作为开发的思考点,那又是如何执行自动止损策略的呢?
(1)# 设置买卖止损值
def set_stop_lose_num(self, i) -> int:
df = self.df
return df['阻力线'][i] - df['中界线'][i]
(2) # 买卖框架主函数,[{'buy_date': buy_date,'buy_price':buy_price,'sell_date':sell_date,'sell_price':sell_price},{}...]
def stock_strategy_main(self) -> list:
df = self.df
last_buy_in_date = None
last_buy_in_price = 0
last_sell_out_date = None
last_sell_out_price = 0
buy_sell_dict = {}
buy_sell_list = []
for i in df.index[20:]:
if self.flag_buy_in: # 有没有条件买入做空,默认为没有买入条件False
if self.strategy_buy_in(i): # 最高价大于BOLL上端线了,买买买,空空空,不要怂,就是干;
last_buy_in_date = i # 买入日期记录一下
last_buy_in_price = df['Close'][i] # 买入价格记录一下,后边好算盈亏
self.stop_lose_num = self.set_stop_lose_num(i) # 设好止损,以防踩坑上不来
self.flag_buy_in = False # 买入后,停止买入判断,以防买太多,死的惨
self.need_sell_out = True # 开启卖出状态
(3)继续输入日期continue
if self.need_sell_out: # 是否需要卖出,买入了就需要卖出
# 能不能正常卖出,能的话,就准备继续买入,扩大战果
if self.strategy_stop_win(i): # 是否需要获利了结
last_sell_out_date = i # 记录卖出日期
last_sell_out_price = df['Close'][i] # 记录卖出价格
buy_sell_dict = {
'buy_date': last_buy_in_date,
'buy_price': last_buy_in_price,
'sell_date': last_sell_out_date,
'sell_price': last_sell_out_price
}
buy_sell_list.append(buy_sell_dict)
buy_sell_dict = {}
self.need_sell_out = False # 卖光啦,不需要再卖出啦
self.flag_buy_in = True # 空仓啦,可以准备再买点,发财,发财
continue
# 需要止损了,忍痛割爱,冷静一下,暂时不具备买入条件
elif self.strategy_stop_lose(i, last_buy_in_price):
last_sell_out_date = i # 记录卖出日期
last_sell_out_price = df['Close'][i] # 记录卖出价格
buy_sell_dict = {
'buy_date': last_buy_in_date,
'buy_price': last_buy_in_price,
'sell_date': last_sell_out_date,
'sell_price': last_sell_out_price
}
buy_sell_list.append(buy_sell_dict)
buy_sell_dict = {}
self.need_sell_out = False # 卖了,不需要再卖出啦
continue
# 没有需要卖出的商品,那就看看能不能准备买入,做点小买卖
if self.need_sell_out is False:
if self.strategy_open(i): # 空头还可以嘛,再上去我就做空
self.flag_buy_in = True # 开启买入做空模式
continue
return buy_sell_list
其实,对股票编程交易接口能够设置自定止损的作用是很方便的,投资者不用担心其交易过程会出现一些交易操作失误而引起的亏损问题,直接在交易系统上开发这一点止损或者止盈功能,就方便多了,如果想深入了解的开发者或者交易者都可以加下q互相沟通,掌握知识点更牢固。