anti-gambling-trader-tw README

The project's README from github.com/mars-tw/anti-gambling-trader-tw. As one markdown file: README.md.

反詐投資王(Anti-Gambling Trader)

你在懷疑「投資群組是不是詐騙」「老師帶單可不可信」「我的交易到底是實力還是運氣」嗎? 這是一個免費開源的交易統計、投資反詐與自動化交易開發工具:把交易紀錄 (台股/美股/加密貨幣)丟進來, 它用期望值、顯著性檢定與樣本外驗證,給你統計證據判斷獲利更像可重複的優勢, 還是運氣+倖存者偏差(賭博);並內建詐騙話術掃描、假績效鑑識與假老師檢驗。 它也能把交易邏輯轉成可回測策略,並產生可接券商 API 的自動化交易程式專案。 直接在終端機執行本專案的本機 CLI 時,交易紀錄由本機讀取與分析,程式本身不會把 紀錄上傳。若你把檔案、截圖或工具輸出交給 Claude Code/其他雲端 AI,內容可能依 該供應商政策傳送與保存;分享前請遮蔽姓名、帳號、LINE ID 與可識別資訊。參考 Claude Code 官方資料使用說明。此外,部分生成 圖表會載入外部 CDN;自行啟用券商/API 路徑則會明確連線到相應外部服務。

一個誠實到不討喜的工具。它不會告訴你「你會賺錢」—— 不適合長期投資的,它會直接勸退你。 👉 急著找答案?先看 常見問題 FAQ:投資群組是詐騙嗎、 勝率 90% 可信嗎、出金要先繳稅正常嗎、被騙了怎麼辦。

🤖 不只分析,也能建立自動化交易程式。 scaffold 會產生自包含的策略、 風控、券商介面、資料源與圖表專案,提供 PaperBroker 與 13 種真實券商/交易所範本。 紙上模擬可直接執行;自行實作真實自動交易時,必須接妥券商 API、即時行情 runner, 並沿用四層安全檢查。預設生成的歷史 runner 不會送出真單;只有使用者自行填入金鑰、 完成 live runner 並明確解鎖後,live adapter 才可能送單。

English TL;DR — An honest, open-source (MIT) trading-performance analyzer for Taiwan securities and derivatives, US stocks, crypto and forex. It uses expectancy, significance tests (t-test + centered bootstrap) and out-of-sample validation to tell whether your P&L is a repeatable edge or survivorship-biased luck — and it will actively discourage you if it's the latter. Includes scam-language scanning, fake-performance forensics and a guru-claim probability checker. The statistical core uses the Python standard library, and trade-record analysis stays local. It can also generate backtestable strategy skeletons and automated-trading projects with paper trading by default and explicit safety gates for any user-built live connection.

👶 完全沒用過電腦命令?從這裡開始

如果你沒裝過 Python、沒用過終端機、也沒用過 AI,請看 新手快速上手指南 docs/quickstart.md —— 它從「怎麼裝 Python、怎麼打開終端機」開始,一步一步帶你上手。安裝後先打:

anti-gambling-trader start

畫面會依「完整紀錄、單筆交易、交易截圖,還是 LINE 對話」列出最短命令。 沒有試算表也能用 record 的五個短問題記一筆交易。

🛡 這個工具的反詐使命

台灣到處都是假飆股群、假二群、假 VIP 群、假名師、假績效截圖、保證獲利話術、 詐騙幣與假投資平台。它們絕大多數靠同一招:用倖存者偏差與精選截圖, 讓你誤以為有穩賺的捷徑。

這個工具叫「反詐投資王」不是叫假的 —— 它存在的真正原因,就是用統計與數學 檢驗這些承諾。詐騙最怕的,就是你冷靜地把它的承諾丟進數學裡檢驗。

# 貼上群組對話,掃描詐騙話術(不給假百分比,只給風險等級)
anti-gambling-trader scan-text "老師帶單保證獲利,快加VIP客服"

# 檢驗老師的宣稱:「勝率90%、月報酬20%」純靠運氣出現的機率是多少?
anti-gambling-trader guru-check --win-rate 0.9 --trades 10 --monthly-return 0.2

# 用數學算出「連贏10次的神人」有多容易靠運氣出現
anti-gambling-trader survivorship

# 鑑識老師/平台宣稱的報酬序列是否有可疑徵兆(過度平滑、高得可疑的夏普)
anti-gambling-trader forensics --file 老師的月報酬.txt

# 互動式自我檢測
anti-gambling-trader scam-check

詳見 完整功能與判讀指南、 反詐指南 與 FAQ。

🆘 懷疑自己正在被詐騙? 立刻停止匯款,撥打 165 反詐騙專線, 或上 165 全民防騙網。查證合法業者: 金管會證期局;證券期貨爭議求助: 投保中心。(官方連結查核日期:2026-07) 本工具是統計輔助,不是司法鑑定;官方管道永遠優先。


支援 台股 / 台股 ETF / 台指期與選擇權 / 美股 / 加密貨幣 / 外匯, 匯入 CSV / JSON / Excel 的交易紀錄,自動:

支援市場:台股、台股 ETF、台指期 / 選擇權(含契約乘數)、美股、加密貨幣、外匯。

為什麼做這個

絕大多數散戶虧錢,是因為把「運氣好」誤當成「有本事」—— 而詐騙集團正是利用這個認知弱點,用假群組、假名師、假截圖收割你。 一段帳面獲利,在統計上經常和「純運氣」無法區分。這個工具的唯一目的, 就是在你賠掉更多錢、或被詐騙收割之前,用數學說真話。

安裝

核心引擎是純 Python 標準函式庫,零外部依賴。

git clone https://github.com/mars-tw/anti-gambling-trader-tw.git
cd anti-gambling-trader-tw
pip install -e .            # 安裝本體(之後可用 anti-gambling-trader 指令)

# 以下為可選依賴:
# pip install openpyxl       # 只有要讀 Excel (.xlsx) 才需要
# pip install -e ".[screenshot]"  # 圖片 OCR;另需安裝 Tesseract 與繁中字庫
# pip install backtrader     # 只有要實際跑回測骨架才需要(或 vectorbt)

需求:Python 3.10+。所有指令請在專案根目錄(含 core/ 的那層)執行; macOS / Linux 若 python 指到 Python 2,請改用 python3。

快速開始(30 秒上手)

# 0. 第一次使用:依你手上的資料顯示最短路徑
python -m core.cli start

# 1. 沒有表格也能逐筆記錄(五個短問題)
python -m core.cli record

# 2. 用完整紀錄快速判斷目前適合哪個階段
python -m core.cli fit-check my_trades.csv

# 3. 掃描 LINE 對話紀錄
python -m core.cli scan-text --file LINE對話.txt

# 4. 辨識交易截圖;低信心欄位一定要求人工確認
python -m core.cli scan-screenshot 券商截圖.png

# 5. 還沒有自己的資料?一行指令立刻看效果:
python -m core.cli demo               # 看「賭博型」範例
python -m core.cli demo --edge        # 看「具優勢」範例

# 6. 想用 Excel?產生範本;最簡單填代號、平倉日、淨損益、損益幣別、策略
python -m core.cli init-template      # 產生 trades_template.csv

# 7. 查看完整統計報告(市場會自動推斷):
python -m core.cli analyze 你的交易.csv

# 8. 欄位自動辨識失敗?手動指定對應:
python -m core.cli analyze 你的交易.csv --field symbol=代號 --field entry_price=買價

# 進階:輸出 JSON 結果與策略骨架
python -m core.cli analyze --example us --json result.json --strategy my_strategy.py

裝好本體後,上面的 python -m core.cli 都可換成更短的 anti-gambling-trader。

截圖辨識只擷取「候選欄位」與文字線索,不會自動存入交易紀錄。OCR 可能看錯 正負號、小數點與買賣方向,必須逐欄對照原圖;單張截圖也不能證明績效或交易能力。

每條操作路徑、判讀門檻與人工覆核清單,見完整功能與判讀指南。

Windows 終端機若中文 / emoji 顯示異常:PowerShell 先執行 $env:PYTHONUTF8=1 再跑指令; macOS / Linux 則在指令前面加 PYTHONUTF8=1。

輸入格式

欄位名稱中英皆可、會自動辨識。最少需要能算出每筆損益的資訊: (代號 + 方向 + 進場價 + 出場價 + 數量)或 (代號 + 已扣全部成本的淨損益 + 帳戶結算幣別)。

標準欄位 可接受的欄名(部分範例) 必要性
symbol 代號 / ticker / 股票代號 / pair 必要
side 方向 / 買賣 / side / long_short 價量推算必填;direct pnl 可缺但不判方向偏好
entry_time / exit_time 進場時間 / 出場時間 / open_time 建議
entry_price / exit_price 進場價 / 出場價 / 買價 / 賣價 與 pnl 二擇一
quantity 數量 / 股數 / 張數 / qty 與 pnl 二擇一
fees 交易成本 / total_fee,或完整手續費+稅 價量推算時未填才估算;direct net pnl 不重複扣
pnl pnl / 損益 / net_pnl / 淨損益 與價格二擇一;標準欄位契約為已扣所有成本的淨額
pnl_currency 損益幣別 / 帳戶幣別 direct pnl 必填;價量推算才可依商品原生幣別判定
tag 策略 / strategy / 進場理由 選填(強烈建議)

資料不完整時的保守處理

完整規則與修正方式見完整功能與判讀指南:Fail closed。

盈虧、已實現損益、realized_pnl 的 gross/net 語意不明,工具會要求改成 明示「淨」的欄名,或用 --field pnl=你的欄名 親自確認。profit 等 gross 欄 只有在同列提供可信的 total_fee/交易成本 時才會扣成本後載入。

建議務必填 tag(策略標籤):工具會分別呈現每套邏輯的描述統計, 幫你找出「樣本裡哪一招較差、值得停用檢查」;它不會認證個別策略具有優勢。

五種裁決等級

等級 意義 勸退
🟥 gambling 樣本期望值為負 —— 方法不變,長期的統計預期就是虧損 ✅ 強烈勸退
🟧 insufficient 樣本太少,無法區分本事與運氣 ✅ 勸阻重押
🟨 luck_suspected 帳面賺錢,但統計上像運氣 ✅ 高度存疑
🟨 fragile_edge 有統計訊號但結構脆弱、風險高 ✅ 謹慎
🟩 statistical_edge 正期望值通過顯著性檢定(樣本外驗證另行報告) ❌ 不勸退(仍非保證)

它如何分辨「優勢」與「賭博」

  1. 期望值:每筆平均賺/賠多少。真實期望值為負,長期就是輸(數學定義); 樣本期望值為負則「先當賭博處理」(保守原則)—— 它是估計,所以裁決同時附不確定性檢定。
  2. 顯著性檢定:t 檢定 + 置中 Bootstrap(shift method)重抽;雙雙 p < 0.05 是在指定虛無假設與模型成立時,反對「平均損益不為正」的證據。p 值是該假設下 得到至少同樣極端統計量的尾端機率,不是「假設為真/結果純屬運氣/有優勢」的機率, 更不能證明未來優勢或因果能力。兩個檢定使用同一批資料,也不是兩次獨立重現。
  3. 樣本外驗證:依真實平倉時間做單一切點,前後段各至少 10 筆且不拆同時點; 兩段都必須有顯著正期望、後段衰減小於 50%,規則也必須在看後段前凍結。 這只是既有歷史的時間穩定度檢查,不等於真正未碰過的前瞻樣本;缺時間、混時區、 幣別不可比、被拒資料列或未釐清的精確重複交易都會直接拒算。
  4. 資料完整性閘門:被拒列與完整時間戳交易的精確重複列會保留計數與原因, 不靜默刪除;問題未釐清前只給 insufficient,不認證正優勢。
  5. 賭博特徵掃描:負期望、單筆暴賺撐場、賺小賠大、極端回撤、長連虧、純當沖…

建立你自己的自動化交易程式

除了單檔策略骨架,本工具還能用互動式腳架,為你產生一整套可執行的個人 自動化交易程式專案。生成專案會先以 PaperBroker 執行策略與模擬撮合;要進行 真實自動交易,使用者還必須自行接妥券商 API、只處理最新已完成 K 線的即時行情 runner,並在自訂 live runner 中沿用下方四層安全檢查。

# 1. 先挑圖表樣式(四種開源圖表庫並排預覽)
python -m core.cli chart-preview          # 產生 chart_preview.html,用瀏覽器打開挑選

# 2. 看看有哪些券商 / 圖表可選
python -m core.cli brokers
python -m core.cli charts

# 3. 產生專案(建議帶 --from-analysis 先驗證,把裁決嵌入專案)
python -m core.cli scaffold --name my_bot --broker binance --chart lightweight \
    --market crypto --symbols "BTCUSDT,ETHUSDT" --from-analysis my_trades.csv

# 4. 跑起來(預設紙上模擬,不碰真錢)
cd my_bot && pip install -r requirements.txt && python main.py

可選券商(所有生成專案預設 PaperBroker;真實券商/交易所的連接完整度與 前置申請依各範本說明,API key 必須由你自行設定;執行 brokers 看完整清單):

key 券商 市場
paper 紙上模擬(預設,完整可用、不碰真錢) 全
shioaji 永豐 Shioaji 台股
yuanta 元大 SPARK API 台股 / 期貨
fubon 富邦新一代 API 台股 / 複委託
kgi 凱基 KGI SUPER PY 台股 + 美股
tw_futures 群益 / 統一 / 元富 期貨類 台期
ibkr Interactive Brokers 美股 / 全球
alpaca Alpaca 美股
tradier Tradier(REST API) 美股
binance Binance 加密貨幣
pionex Pionex 派網(官方現貨 REST API) 加密貨幣現貨
okx OKX 加密貨幣
bybit Bybit 加密貨幣
ccxt ccxt(一個介面接 100+ 交易所) 加密貨幣

台灣券商 API 多需臨櫃簽署風險預告書、申請審核(常需數個工作天), 部分需安裝憑證或元件。各範本的說明已標注關鍵前置條件,實際以券商官方文件為準。

pionex 範本固定使用官方正式站 https://api.pionex.com,目前官方現貨 OpenAPI 未列 sandbox/testnet,所以不能拿正式 API 冒充模擬環境。請先留在 PaperBroker, API key 只開讀取並設定 IP 白名單。Pionex 市價買單使用報價幣 amount,與通用 Order.quantity 的標的數量語意不同;範本會保守拒絕市價買單。策略用的 client_tag 與券商 client_order_id 已分離;後者可明確指定,省略時會安全產生, 避免中文策略理由或逾時重送造成識別錯誤。既有持倉若沒有可靠成本,生成策略只會 hold;撤單後也會重查訂單與成交,不能把「接受撤單」誤讀成零成交。代號請明寫成 BTC_USDT。

可選開源圖表庫:lightweight(TradingView,Apache-2.0)、plotly(MIT)、 mplfinance(BSD)、echarts(Apache-2.0)。

四層安全設計(保護你的錢)

  1. 預設紙上模擬:產出專案預設用 PaperBroker,完整模擬撮合但不碰真錢。
  2. 完整階段連動:不是只看樣本內裁決;只有樣本外延續、幣別與風險基準都可靠, 且分流結果為 tiny_live_validation 時,設定檔才可能同時寫入 stage_code: tiny_live_validation 與 allow_live_trading: true。
  3. Runtime 多重硬閘:生成的 main.py 會重新驗證上述兩欄、 risk.i_have_read_disclaimer is true 與本機 ALLOW_LIVE_TRADING=True,全部通過後 才呼叫券商的雙重確認。缺欄位、錯誤型別、其他 stage 或 YAML 損壞一律 fail closed。
  4. 歷史 replay 不碰真錢:main.py 內建的 120 根歷史/示範 K 線只准紙上執行; 偵測到 live broker 會硬性退出,避免把過去訊號一次送成多張真單。真實驗證必須另寫 只處理最新已完成 K 線的 runner,並接上可驗證的即時資料源。

PaperBroker 是立即成交模擬器,沒有掛單佇列:買價低於現價或賣價高於現價的 非市場合理限價單會直接拒絕;可立即成交的限價單以當前報價成交,且不越過買進上限/ 賣出下限。CLI 也會在寫檔前拒絕輸入/輸出別名、重複輸出路徑與既有報告檔; scaffold 不覆蓋既有非空專案,沒有 --force。

預設生成的歷史/示範 runner 不會送出真單;只有使用者自行完成 live runner、 填入金鑰並明確解除安全閘門後,live adapter 才可能送單。 真實金融交易必須由你自己操作並負全部責任。把未經驗證的賭博自動化,只會賠得更快。

專案結構

core/
  models.py            # 統一資料模型(Trade / TradeLog,含契約乘數)
  markets.py           # 市場規格:契約乘數白名單、代號辨識、槓桿標註
  onboarding.py        # 新手記錄與停手/紙上/極小額驗證分流
  analyzer.py          # 高階一行式進入點
  cli.py               # 命令列介面(18 個指令)
  report.py            # 中文文字報告
  report_html.py       # HTML 報告 + 分享圖卡(XSS 安全、自包含)
  ingest/              # CSV/JSON/Excel、自動欄位辨識、新手輸入與截圖 OCR 覆核
  metrics/             # 績效指標(performance / breakeven 轉正數字)
  verdict/             # 統計裁決引擎 + 顯著性檢定(真正的 t 分布,純標準庫)
  strategy/            # 交易模式反推 + 策略骨架 + per_tag 描述統計/反事實/跟單抽算
  backtest/            # 樣本外驗證(holdout_validate)
  trend/               # 時間趨勢:月報彙總 + 優勢衰減偵測(單一固定切點,防 p-hacking)
  montecarlo/          # 風險情境模擬:爆倉比例、最壞回撤、連虧機率
  survivorship.py      # 倖存者偏差模擬器(精確 DP,非模擬近似)
  forensics/           # 假績效統計鑑識(runs test / Lo 校正夏普 / 尾數卡方)
  antiscam/            # 反詐核心:特徵庫 + scam-check + 話術偵測 + 假老師驗證器
  broker/              # 券商抽象層 + PaperBroker + 13 種真實券商範本(共 14 種選項)
  charts/              # 四種開源圖表庫範本 + 樣式預覽
  scaffold/            # 個人交易程式專案產生器(產出自包含 broker_lib)
.claude/skills/anti-gambling-trader/SKILL.md   # Claude Code 技能包裝
.agents/skills/anti-gambling-trader/SKILL.md   # Codex/通用 agent 技能包裝
core/examples/         # 三市場範例資料(隨套件打包,pip 安裝後 demo 仍可用)
tests/                 # 自動化回歸測試(數量以 pytest 即時收集結果為準)

我們刻意不做的事:不用班佛定律(報酬有負數、不跨數量級,前提不成立)、 不給「87% 是詐騙」這種未校準的假百分比、不做 Kelly 部位建議、不畫「信心度」儀表、 不做未來報酬投射。詳見 方法論。

測試

# 用 pytest 一次跑全部(推薦)
python -m pip install -e ".[dev]"
python -m pytest tests/ -v

# 不裝 pytest 時,每個檔有內建執行器,需逐一執行:
python tests/test_core.py
python tests/test_trading_tools.py
python tests/test_antiscam.py
python tests/test_usability.py
python tests/test_engine.py
python tests/test_debate_fixes.py
python tests/test_trend.py
python tests/test_expansion.py
python tests/test_skill_round.py
python tests/test_round7.py
python tests/test_round8.py
python tests/test_round9.py
python tests/test_round10.py
python tests/test_line_antiscam.py
python tests/test_missing_time_semantics.py
python tests/test_onboarding.py
python tests/test_screenshot_ingest.py
python tests/test_trade_logic_audit.py

作者

好棒棒反詐協會 - 免費顧問 阿軒割割

誠實聲明:上列署名為社群化名,「好棒棒反詐協會」不是立案法人或 官方組織。本專案的可信度不來自頭銜,來自:公開的原始碼、可重現的 實驗(experiments/,固定 seed)、方法論全文與 持續執行的自動化回歸測試。歡迎任何人檢驗與挑戰 —— 這正是本工具要求「老師們」 做到的事。

授權

MIT License — 開源、自由使用。詳見 LICENSE。

⚠️ 免責聲明

本工具為統計分析與教育用途,輸出不構成任何投資建議。 投資有風險,盈虧自負。過去績效不代表未來表現。 作者不對任何人依本工具做出的決策與後果負責。

完整免責聲明請見 DISCLAIMER.md。

anti-gambling-trader-tw (mars-tw/anti-gambling-trader-tw)

Searching Database…

这是什么?一个免费开源的 Python 工具,分析交易记录(台股、美股、加密货币、外汇),从统计上检验你的利润是可重复的优势,还是只是运气加上幸存者偏差;它还会扫描诈骗话术和虚假业绩宣称,并能搭建可回测或模拟盘自动化的项目骨架。
它是图形界面应用,还是命令行工具?它是一个本地命令行工具,以 python -m core.cli 运行,安装后也可用更短的 anti-gambling-trader,统计核心为纯 Python——没有托管式仪表盘。
怎么让它跑起来?安装 Python 3.10+,然后在项目根目录(即包含 core/ 的文件夹)用 python -m core.cli 运行所有命令;如果 macOS/Linux 上的 python 指向 Python 2,请改用 python3。
我需要安装额外的 Python 包吗?必须有 Claude Code 吗?不需要任何额外的包——统计引擎是纯 Python 标准库,零外部依赖。Claude Code 完全可选,只有你选择把文件交给它分析时才会用到。
截图和聊天记录扫描是完全自动的吗?不是——OCR 只提取候选字段,绝不会自动保存到你的交易日志;它可能读错正负号、小数和买卖方向,因此你必须对照原图逐项核对,而且单张截图永远无法证明真实业绩。
它在 Windows 上的运行方式与 Mac 或 Linux 一样吗?一样,它是跨平台的:Windows 用户需先在 PowerShell 中运行 $env:PYTHONUTF8=1 以避免中文/表情符号乱码,macOS/Linux 用户只需在命令前加 PYTHONUTF8=1。
它给交易记录判定的五个结论等级是什么?它会基于期望值和显著性检验,把结果标记为「赌博」「数据不足」「疑似运气」「优势脆弱」「统计优势」五档,从强烈劝退到不必劝退。
它如何识破虚假的交易大神或诈骗群组?它会扫描 LINE 聊天记录导出和交易截图中的诈骗话术,单独提取「跟单」条目并用你自己的数字计算其真实期望值,并运行虚假业绩取证,而不是轻信精心挑选的截图。
生成的程序真的能下真实订单吗?默认情况下,生成的项目使用 PaperBroker 模拟器,绝不触碰真钱;启用实盘交易需要用户自行接入真实券商 API 密钥、完成自定义的实盘运行器,并通过四道独立的安全关卡,其中包括一个显式的免责声明标志。
作者为什么要做这个,而不是一个普通的交易机器人生成器?因为大多数散户交易亏损源于把运气误当成实力,而骗子正是利用这一点;这个工具的用途是在有人被诈骗亏掉更多钱之前,用期望值、t 检验、bootstrap 重抽样和样本外验证来检验交易宣称。
Creator
mars-tw
Size
1 MB
Stars
1.1K
Age
3mo
Commits · 90 Days