凌晨两点十七分,李代码的显示器还亮着。
三块屏幕,左边是黑色终端里滚动的绿色日志,中间是chrome浏览器开着二十几个标签页,右边是excel表格和python编辑器。房间唯一的光源是屏幕光,映在他三天没刮胡子的脸上,像某种诡异的仪式。
他正在写一个爬虫。
不是普通爬虫——那种抓取网页信息、批量下载图片的初级玩意,他大三就会写了。这个爬虫要高级得多,它要潜入几十个财经论坛、数百个股票贴吧、上千个投资微信群聊的聊天记录(通过某些非公开接口),抓取关键词出现的频率、情感倾向、讨论热度,然后喂进一个lstm神经网络,预测下一个交易日的板块轮动。
简单说,他要量化市场情绪。
这个想法诞生于两周前,在茶水间被那个用《易经》算股票的实习生“击败”之后。李代码当时就明白了:这个市场里,理性分析干不过玄学,基本面干不过消息面,而消息面的本质是情绪传导。与其研究财报,不如研究人心——用代码研究。
过去十四天,他睡了不到七十个小时。咖啡罐在脚边堆成小山,外卖盒子散发馊味,但代码就要完成了。现在只差最后一步:把抓取到的文本数据做情感分析,正面词加分,负面词减分,再加权时间衰减——越临近收盘的讨论,权重越高。
他敲下最后一行代码:
defcalculate_sentiment_score(text,timestamp):
#情感词典加载
positive_words=load_positive_dict()
negative_words=load_negative_dict()
#时间衰减系数
time_factor=calculate_time_decay(timestamp)
#计算基础情感分
base_score=len([wforwintextifwinpositive_words])-len([wforwintextifwinnegative_words])
#应用衰减
final_score=base_score*time_factor
returnfinal_score
运行。没有报错。进度条开始缓慢爬升:1%...5%...12%...
李代码靠在椅背上,闭上眼睛。他能听见机箱风扇的嗡鸣,能闻到自己身上的汗味,能感觉到心脏因为过度摄入***而不规则地跳动。但更多的是兴奋——一种即将揭开市场面纱的兴奋。
他想证明,这个由贪婪和恐惧驱动的市场,是可以被量化的。那些看似随机的波动,那些突如其来的涨停跌停,那些“消息灵通人士”的“内幕消息”,归根结底都是情绪的共振。而情绪,是可以被测量的。
进度条爬到100%。终端弹出结果:
今日市场情绪指数:-0.34(偏悲观)
热门板块情绪排名:
1.新能源汽车:+0.87
2.半导体:+0.45
3.白酒:-1.23
...