合约量化系统实行根据设置,自动进行买卖交易,上涨到一定点数则卖出平仓,下跌至相应点数则进行加仓操作,等待价格回调则卖出,达到自动化交易。可以让投资交易者不用时时刻刻紧盯市场,设置号自动化交易条件,忽略了用户的个人主观情绪,使得交易变得更为“理智”。
股票量化合约系统开发方案:
1、制定交易策略:智能机器人嵌入了各种类型的交易策略,从“保守”到“激进”,考虑不同类型的风险。设置策略后,软件将智能地为每个订单分配仓位和标准,严格遵循交易策略。
2、多笔交易的联合监管:可以使用数百笔交易一起操作交易策略,每种类型都有自己的独立流程,并对报价深度进行全自动监控。实时监控系统的买卖标准确保了买卖交易的及时性。
3、智能跟踪、止盈止损:设定启动标准,利润比例超过标准后,智能机器人自动启动跟踪、止利止损。当价格继续上涨时,利润的比例继续达到其最大值。当价格下降时,执行强制性的收盘标准以停止盈利和亏损。
股票量化合约系统源码:
def load_data(ts_code, start_date='20160101', end_date= ''):
# 判断文件是否存在,不存在则通过网络接口获得
data_dir = './data/'
name = get_code_name(ts_code)
name = name.replace('*', ' ')
file = data_dir + ts_code + name + '.csv'
if not os.path.exists(file):
# 初始化pro接口
# pro = ts.pro_api('********************************')
# 获取前复权数据
#df = ts.pro_bar(ts_code=ts_code,start_date=start_date, end_date=end_date, ma=[5, 10, 20, 30, 50, 120, 200])
df = ts.pro_bar(ts_code=ts_code, ma=[5, 10, 20, 30, 50, 120, 200])
# 保存数据到文件
if df is None:
print('can not get data')
return
df.to_csv(file, index=False, encoding="utf_8_sig")
print('new file', file)
df = pd.read_csv(file)
# ts_code, trade_date, open, high, low, close, pre_close, change, pct_chg, vol, amount, adj_factor
# 股票代码, 交易日期, 开盘价, 最高价, 最低价, 收盘价, 昨收价, 涨跌额, 涨跌幅, 成交量, 成交额(千元)
# 去空
df.dropna(inplace=True)
# 正序
df = df.sort_index(ascending=False)
# 索引重排序
df.reset_index(drop=True, inplace=True)
return df
加载股票列表
def load_code_list(market='SZSE', sel=False): #交易所 SSE上交所 SZSE深交所 HKEX港交所(未上线)
path = './data/'
faceDir = Path(path)
if faceDir.exists():
file_dir = path + 'code_list_' + market + '.csv'
else:
os.mkdir(faceDir)
file_dir = path + 'code_list_' + market + '.csv'
# 判断文件是否存在,不存在则通过网络接口获得
if os.path.exists(file_dir):
code_list = pd.read_csv(file_dir)
else:
# 初始化pro接口
pro = ts.pro_api('ee5c0e991e17949cdafbcf8ec42321ef4bac94e9ca3474e4d62313a3')
# 查询某交易所所有上市公司
#code_list = pro.stock_basic(exchange=market, list_status='L', fields='ts_code') # ,symbol,name,market,list_date
#code_list = pro.stock_basic(exchange=market, list_status='L') # ,symbol,name,market,list_date
code_list = pro.stock_basic(exchange=market, list_status='L') # ,symbol,name,market,list_date
# 保存数据到文件
code_list.to_csv(file_dir, index=False, encoding="utf_8_sig")
#code_list = code_list[['ts_code']].values.flatten()
return code_list