在A股,散户最怕的是什么?
是“小道消息”,是“假突破”,更是“后知后觉”。
很多朋友看资金流向,习惯看行情软件当天的排名。结果往往是:看到净流入第一名,追进去,第二天主力就反手砸盘,直接站岗。
为什么?因为你看的数据维度太单一!
真正的“老狐狸”主力,在建仓、洗盘和拉升过程中,资金会留下跨周期的痕迹。只看一天是“脉冲”,连续三天、五天、十天都在流入,那才叫“主线”。
今天,我直接公开一段压箱底的Python 自动化脚本。它能帮你一键抓取同花顺行业板块的“今日+5日+10日”真实资金数据,并通过一套AI 逻辑自动判定:谁是真正的“三期锁仓”绝对主力,谁是“底部回补”的潜力股。
代码效果:
一、 核心逻辑:钱比语言更诚实
这套代码之所以被称为“真数据研报”,是因为它不仅抓取数据,还内置了一套我的私房筛选模型:
👑 三期锁仓(皇冠):今日、5日、10日资金全部净流入,且股价同步上涨。这是最强的信号,代表主力筹码锁定极好,处于主升浪前夕。
🚀 强势进攻:今日突发超大规模流入,资金急于拿货。
💎 底部回补:虽然长期(10日)流出,但近期(5日/今日)开始转正。这意味着机构开始“捡便宜货”,反转在即。
📉 资金离场:三期连续流出或大幅砸盘,这种板块哪怕再多利好也要避开。
二、 这个工具强在哪里?
全自动运行:无需手动翻页,代码自动模拟浏览器,抓取同花顺官网实时数据。
DrissionPage 驱动:采用了目前最先进的驱动技术,比传统的 Selenium 更快、更不容易被封锁。
自动生成研报:运行结束后,它会生成一个排版极度精美的 Excel 报表,包括“灵魂总结”页和“详细监控”表,并自动通过颜色高亮核心机会。
三、 准备工作(小白必看)
安装 Python:如果电脑没装,请去官网 python.org 下载并安装。安装 Chrome 浏览器:脚本会调用 Chrome 获取网页。安装必要的库:打开你的“终端”或“命令提示符(CMD)”,输入以下命令安装:pip install DrissionPage pandas xlsxwriter四、 完整源码分享
将以下代码保存为 ths_data.py 运行即可:from DrissionPage import ChromiumPagefrom datetime import datetimedef ths_hacker_true_data_final():print(f"🚀 资金流向监控神器 启动... {datetime.now().strftime('%H:%M:%S')}")if not text or text in ('-', '--', ''):text = text.strip().replace(' ', '').replace('%', '')text = text.replace('万', '')text = text.replace('亿', '')return round(float(text) * f, 2)1. 抓取今日数据
print("\n📡 正在分析【今日】主力动态...")page.get("https://data.10jqka.com.cn/funds/hyzjl/")headers = [th.text.strip() for th in page.eles('tag:th')]idx_money = next(i for i, s in enumerate(headers) if '净额' in s)idx_change = next(i for i, s in enumerate(headers) if '涨跌幅' in s)idx_price = next(i for i, s in enumerate(headers) if '当前价' in s)idx_leader = next(i for i, s in enumerate(headers) if '领涨股' in s)rows = page.eles('tag:tr')[1:]name = tds[idx_name].text.strip()if name and name != '行业':money = parse_money(tds[idx_money].text)'最新涨跌%': parse_money(tds[idx_change].text),'当前价': tds[idx_price].text,'领涨股': tds[idx_leader].textnext_btn = page.ele('text:下一页', timeout=1)if next_btn and not next_btn.attr('class') == 'disable':archives['今日'] = pd.DataFrame(today_data).drop_duplicates('板块')2. 抓取5日数据
print("📌 正在回测【5日】筹码变动...")btn5 = page.ele('text:5日', timeout=3)if btn5: btn5.click(); time.sleep(5)rows = page.eles('tag:tr')[1:]day5_data.append({'板块': tds[1].text.strip(), '5日流入(亿)': parse_money(tds[2].text)})next_btn = page.ele('text:下一页', timeout=1)if next_btn and not next_btn.attr('class') == 'disable':next_btn.click(); time.sleep(2)archives['5日'] = pd.DataFrame(day5_data).drop_duplicates('板块')3. 抓取10日数据
print("📌 正在锁定【10日】机构建仓成本...")btn10 = page.ele('text:10日', timeout=3)if btn10: btn10.click(); time.sleep(5)rows = page.eles('tag:tr')[1:]day10_data.append({'板块': tds[1].text.strip(), '10日流入(亿)': parse_money(tds[2].text)})next_btn = page.ele('text:下一页', timeout=1)if next_btn and not next_btn.attr('class') == 'disable':next_btn.click(); time.sleep(2)archives['10日'] = pd.DataFrame(day10_data).drop_duplicates('板块')数据合并与AI决策逻辑
df = pd.merge(df, archives['5日'][['板块', '5日流入(亿)']], on='板块', how='left')df = pd.merge(df, archives['10日'][['板块', '10日流入(亿)']], on='板块', how='left')t, f5, f10 = row['今日流入(亿)'], row['5日流入(亿)'], row['10日流入(亿)']if t > 3.0 and f5 > 1.0 and f10 > 1.0 and change > 0:elif t > 3.0 and change > 0:elif t > 2.0 and f5 > 0 and -20 < f10 < -5 and change >= -0.5:elif t < -5.0 or (t < 0 and f5 < 0 and f10 < 0 and change < 0):df['AI智投决策'] = df.apply(ai_logic, axis=1)df = df.sort_values('今日流入(亿)', ascending=False, ignore_index=True)df.insert(0, '排名', range(1, len(df)+1))保存并格式化Excel (此处省略ExcelWriter美化代码,见上文逻辑)
file_name = f"资金研报_{datetime.now().strftime('%m%d_%H%M')}.xlsx"df.to_excel(file_name, index=False)print(f"\n🎉 研报生成成功!文件名为: {file_name}")if __name__ == "__main__":ths_hacker_true_data_final()五、 结语:让散户也有“机构之眼”
在信息不对称的战场上,工具就是你的武器。与其每天在论坛里看人吵架,不如静下心来运行一次脚本,看看主力到底把钱投进了哪里。如果你觉得这段代码对你有启发,或者帮你省去了每天手动翻数据的苦恼,请一定要帮我三个小忙: