手机浏览器扫描二维码访问
self.model=IsolationForest(contamination=contamination,random_state=42)
self.model.fit(historical_data)
defdetect(self,current_features):
score=self.model.decision_function([current_features])[0]
prediction=self.model.predict([current_features])[0]
#分数越接近-1,越可能是异常;prediction为-1表示异常
returnscore,prediction
他花了一上午时间,整合了收益率、波动率、成交量突增比率三个特征,用过去一个月A股主要指数的分钟数据训练了模型。
初步回测显示,这个简单的模型能捕捉到去年几次因突发消息导致的盘中急跌急涨。
但这只是第一道防线。
更隐蔽的风险是“策略悄然失效”
。
市场风格会切换,一个过去有效的因子可能会在某个阶段完全失灵,而系统还会傻傻地继续交易,直到资金曲线出现明显回撤才发现。
“需要监控策略本身的健康度”
。
林晨思索着。
他决定引入几个关键绩效指标的实时监控:
夏普比率滚动窗口变化:计算最近20个交易日的夏普比率,与更长期的均值比较,如果显着下降(通过统计检验),则报警。
最大回撤突破:实时更新当前回撤值,如果突破历史回撤的某个百分位(比如95%),报警。
信号失效:记录每次交易信号的实际盈亏,如果连续出现多次亏损(例如同一策略信号连续亏损5次),则怀疑信号失效。
这些逻辑被他封装进Strategyhealthmonitor类。
每一个监控项都设置了可配置的阈值和检验方法。
“光检测出来没用,必须得让我立刻知道”
。
林晨解决下一个问题:通知渠道。
邮件太慢,短信需要接口和费用。
最直接的就是微信。
他研究了一下,可以通过企业微信的机器人webhook接口,向个人微信发送消息。
免费,稳定,几乎零延迟。
他注册了一个企业微信应用(免费版足够),获取了webhook地址。
然后写了一个简单的通知模块:
importrequests
importjson
classwechatNotifier:
def__init__(self,webhook_url):
...
TXT下载,最新章节,无错,番外...
...
TXT下载,最新章节,无错,番外...
TXT下载,最新章节,无错,番外...
穿越当晚,新婚洞房。云绾宁被墨晔那狗男人凌虐的死去活来,后被抛之后院,禁足整整四年!本以为,这四年她过的很艰难。肯定变成了个又老又丑的黄脸婆!但看着她身子各位书友要是觉得神医毒妃腹黑宝宝还不错的话请不要忘记向您QQ群和微博里的朋友推荐哦!1w3452453977...