程序化交易系统开发之预警平台编程
如何实现私募机构及操盘员进行期货与股票的交易,这时候IT技术在软件开发中体现了主导能力。一套完善的系统架构需要成熟的技术人员来进行搭建,利用spring语言、 java语言、 python语言进行设计与编程。
实现私募交易系统中预警平台是至关重要的,基于我们的数据中台服务,搭建的一款支持云端自动设置规则选股及因子触发式实时预警的系统。罗列出预警平台的功能特点;
1.可以创建多个预警组,每个组设置规则自动选股入池和出池,并且支持人工指定选股
2.每个预警组可以单独设置指定要关注的预警因子,当组中品种预警因子触发后可通过看盘端、网页端,钉钉消息等方式及时通知到相关人员
3.多个预警组可以进行分类管理和查看guweng22346
4.当预警信号触发后,可以分仓系统联动进行直接快速下单
5.支持对单个品种进行画线预警、指定周期指定因子预警
6.多品种、多周期对预警组内品种进行查看及预警设置
7.动态分组功能(对指定规则的预警组内的品种,自动分配到不同交易组,多人协作操作数量较多的标的,)
经过平台一系列功能设计,预警平台系统就具备了雏形。
下一步,我们就需要把这个交易系统用代码实现出来
/**定义推送信号头**/
StringBuilder stringBuilder = new StringBuilder(“信号”);
if (StringUtils.isEmpty(tbAlarmConfigDetial.getFactorId()) || ObjectUtil.isNull(tbAlarmConfigDetial.getFreqId()) || StringUtils.isEmpty(tbAlarmConfigDetial.getTradeDirection())) {
return stringBuilder.toString();
}
/**获取预警因子**/
String[] factorList = tbAlarmConfigDetial.getFactorId().split(“,”);
List<Integer> checkedFactor = Lists.newArrayList(factorList).stream().map(f -> Integer.valueOf(f)).collect(Collectors.toList());
/**获取预警周期**/
Integer freqId = tbAlarmConfigDetial.getFreqId();
List<Integer> checkedFreqList = Lists.newArrayList(freqId);
/** 多空 **/
List<Integer> collect = Arrays.stream(tbAlarmConfigDetial.getTradeDirection().split(“,”)).map(f -> Integer.valueOf(f)).collect(Collectors.toList());
Map<Integer, Integer> tradeMaps = collect.stream().collect(Collectors.toMap(x -> x, y -> y, (oldValue, newValue) -> newValue));
List<TbFactorData> sendTbFactorData = tbFactorDataList.stream().filter(f -> {
return checkedFreqList.contains(f.getFreqId());
}).filter(f -> {
return checkedFactor.contains(f.getParamId());
}).collect(Collectors.toList());
stringBuilder.append(“:”);
for (TbFactorData tbFactorData : sendTbFactorData) {
WarnningSignalVo warnningSignalVo = new WarnningSignalVo();
warnningSignalVo.setGroupId(tbAlarmConfig.getGroupId());
warnningSignalVo.setFeatureType(featureType);
warnningSignalVo.setMarginTrading(marginTrading);
//warnningSignalVo.setGroupName(groupName);
if (tbFactorData.getParamValue() != 0) {
if (tradeMaps.containsKey(tbFactorData.getParamValue().intValue())) {
/**品种代码**/
stringBuilder.append(code);
warnningSignalVo.setFeatureCode(code);
if (StringUtils.isNotEmpty(tbAlarmConfig.getUserList())) {
String[] split = tbAlarmConfig.getUserList().split(“,”);
List<Integer> userIds = Arrays.asList(split).stream().map(f -> Integer.valueOf(f.trim())).collect(Collectors.toList());
warnningSignalVo.setUserIds(userIds);
}
stringBuilder.append(“\t”);
/**品种名称**/
stringBuilder.append(featureName);
warnningSignalVo.setFeatureName(featureName);
warnningSignalVo.setFeatureId(featureId);
stringBuilder.append(“\t”);
/**时间**/
stringBuilder.append(dateTime);
warnningSignalVo.setDatetime(dateTime);
stringBuilder.append(“\t”);
/**周期**/
stringBuilder.append(freqReverseMaps.get(tbFactorData.getFreqId()));
warnningSignalVo.setFreqName(freqReverseMaps.get(tbFactorData.getFreqId()));
warnningSignalVo.setFreqId(tbFactorData.getFreqId());
String score = scoreMaps.get(freqReverseMaps.get(tbFactorData.getFreqId()));
if (StringUtils.isNotEmpty(score)) {
warnningSignalVo.setScore(Double.valueOf(score));
}
stringBuilder.append(“\t”);
/**预警因子**/
stringBuilder.append(factorMaps.get(tbFactorData.getParamId() + “” + tbFactorData.getParamValue().intValue()) + (tbFactorData.getParamValue() > 0 ? “⬆” : “⬇”));
warnningSignalVo.setFactorName(factorMaps.get(tbFactorData.getParamId() + “” + tbFactorData.getParamValue().intValue()) + (tbFactorData.getParamValue() > 0 ? “⬆” : “⬇”));
warnningSignalVo.setFactorId(tbFactorData.getParamId());
warnningSignalVo.setReceiverTime(receiverTime);
warnningSignalVo.setPushTime(new Date());
warnningSignalVo.setSignValue(tbFactorData.getParamValue().doubleValue());
stringBuilder.append(“\t”);
stringBuilder.append(“\r\n”);
warnningSignalVoList.add(warnningSignalVo);
}
}
}
return stringBuilder.toString();
1、本站资源都是白菜价出售,同样的东西,我们不卖几百,也不卖几十,甚至才卖几块钱,一个永久会员能下载全站100%源码了,所以单独购买也好,会员也好均不提供相关技术服务。
2、如果源码下载地址失效请/联系站长QQ进行补发。
3、本站所有资源仅用于学习及研究使用,请必须在24小时内删除所下载资源,切勿用于商业用途,否则由此引发的法律纠纷及连带责任本站和发布者概不承担。资源除标明原创外均来自网络整理,版权归原作者或本站特约原创作者所有,如侵犯到您权益请联系本站删除!
4、本站站内提供的所有可下载资源(软件等等)本站保证未做任何负面改动(不包含修复bug和完善功能等正面优化或二次开发);但本网站不能保证资源的准确性、安全性和完整性,用户下载后自行斟酌,我们以交流学习为目的,并不是所有的源码都100%无错或无bug;同时本站用户必须明白,【源码源码ui网】对提供下载的软件等不拥有任何权利(本站原创和特约原创作者除外),其版权归该资源的合法拥有者所有。
5、请您认真阅读上述内容,购买即以为着您同意上述内容。
互保站 » 程序化交易系统开发之预警平台编程