章节目录 第12章 李代码的爬虫初战(1 / 2)

作品:《遍地股神

[全本小说]:qbxs. N e t 一秒记住!

第12章李代码的爬虫初战(第1/2页)

凌晨两点十七分,李代码的显示器还亮着。

三块屏幕,左边是黑色终端里滚动的绿色日志,中间是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

...

李代码盯着屏幕。新能源汽车板块情绪分最高,符合预期——最近政策利好不断。白酒板块情绪分最低,也合理,毕竟估值在高位,资金有出逃迹象。但半导体只有+0.45,这有点意外。他看了几篇研报,都说半导体景气度持续,资金在流入。

他的爬虫说不是。

他调出原始数据:抓取的八千多条关于半导体的讨论中,“卡脖子”“制裁”“产能过剩”等负面词出现频率是正面的两倍。虽然研报乐观,但散户情绪已经转向悲观。

“有意思。”李代码喃喃自语。研报代表机构的“嘴”,散户情绪代表市场的“腿”。嘴说一套,腿走另一套,这事儿常有。

他看了眼时间:凌晨三点二十。距离A股开盘还有六个小时。

他做了个决定:信爬虫。

不是全信,是拿一部分资金试水。他有三万块闲钱,原本打算换台新电脑。现在,他决定用这一万块,验证他的模型。

他打开交易软件,登录那个尘封已久的账户——去年亏了八千块后就没再碰过。账户余额:31247.86元。他选了新能源汽车板块里情绪分最高的三只股票,半导体板块里情绪分最低但基本面还行的两只股票(逆向操作),白酒板块完全不碰。

挂单。设置买入价:今日开盘价上浮1%(防止高开买不到)。设置止损:-5%。止盈:+10%。

做完这一切,天快亮了。窗外泛起鱼肚白,城市的轮廓在晨雾中显现。李代码关掉显示器,瘫在床上,却睡不着。脑子里全是数字、曲线、概率。

他想起了大学时上的第一门编程课。教授说:“代码世界是确定的,输入决定输出。现实世界是不确定的,充满了随机性。”

当时的李代码觉得这话太哲学。现在他明白了:他正在尝试用确定的代码,去捕捉不确定的现实。像个用渔网捞风的傻瓜。

但万一捞到了呢?

早晨八点,李代码被闹钟叫醒。睡了不到四小时,但精神亢奋。他冲了个冷水澡,煮了壶浓得发苦的咖啡,坐在电脑前。

九点十五分,集合竞价开始。

他的五只股票,三只新能源汽车高开,两只半导体低开——完全符合情绪指数预测。

九点三十分,正式开盘。

新能源汽车板块高开高走,他买入的三只股票,十分钟内分别涨了3%、2.5%、4%。半导体板块低开低走,他买入的两只股票,一只跌了1%,一只横盘。

李代码心脏狂跳。不是因为赚钱——那一万块就算涨10%也才一千块——而是因为预测对了。他的模型,那个用十四天不眠之夜堆出来的代码怪物,第一次实战,就蒙对了。

不对,不是蒙。是基于数据的判断。

他不断刷新情绪指数的实时更新。新能源汽车的情绪分在攀升,从+0.87涨到+1.12。半导体的情绪分在下降,从+0.45跌到+0.21。

十点,他的新能源汽车股票平均涨了5%。半导体股票跌了2%。

十点半,新能源汽车板块开始回调。情绪指数显示,讨论热度在下降,负面词汇开始出现:“获利了结”“冲高回落”“量能不足”。

(本章未完,请点击下一页继续阅读)第12章李代码的爬虫初战(第2/2页)

李代码犹豫了三秒,卖出了两只新能源汽车股票,留了一只最强的。卖出价分别比买入价高4.8%和3.7%。

十一点,他留下的那只新能源汽车股票继续冲高,涨到7%。半导体股票跌到-3%。

中午休市。李代码瘫在椅子上,手心全是汗。账户浮动盈利:+862元。半天,赚了他月薪的五分之一。

更重要的是,他的模型在实时验证中表现良好。情绪指数的变化领先股价波动大约十五分钟——足够他做出反应。

他点了个外卖,但吃不下。大脑在高速运转:要不要加仓?要不要调整参数?下午情绪会怎么走?

Ⓠ b 𝕏 𝑆 . n e t