Mọi người đều nói với bạn rằng một bot giao dịch cần AI cao cấp và một trung tâm dữ liệu.
Đó là lời nói dối khiến người mới không bao giờ dám bắt đầu.
Sự thật là: một bot thời tiết Polymarket có lợi nhuận có thể xây dựng trong MỘT CUỐI TUẦN, và sau bài viết này bạn sẽ có toàn bộ quy trình.
Thời tiết là điều trái ngược với BTC 5 phút.
Các cửa sổ BTC là một trò tung đồng xu bạn không thể dự đoán, và cuộc chiến tốc độ thuộc về các bot đặt cùng vị trí.
Nhiệt độ thực sự có thể dự đoán được, giải quyết trong vài giờ nên tốc độ chẳng có nghĩa lý gì, và dữ liệu miễn phí.
Đó là thị trường cuối cùng nơi một nhà phát triển solo với một VPS rẻ tiền vẫn thắng nhờ trí tuệ, chứ không phải phần cứng.
Toàn bộ cỗ máy chỉ gồm sáu bước.
Khám phá thị trường, kéo dự báo, sửa độ lệch, chuyển thành xác suất, tìm lợi thế 8%, định cỡ và bắn.
Chỉ có vậy.
Để tôi trao cho bạn từng mảnh ghép.
Tôi đã xây dựng hàng trăm bot và những bot thực sự kiếm tiền luôn đơn giản như thế này, chứ không phải mấy thứ quá phức tạp mà mọi người nghĩ bạn cần.
Đây là ví dụ bot wether công khai của tôi: \[[https://polymarket.com/profile/0xca75fbadcc238afd23c317e253a8b5c47b390a64?via=surferhttps://polymarket.com/profile/0xca75fbadcc238afd23c317e253a8b5c47b390a64?via=surfer)]
Tôi vẫn đang phát triển nó và đang trải qua chuỗi thua lỗ mà tôi đang cố sửa.
Nhưng dù sao, nó không chảy máu liên tục như các phiên bản trước.

Bây giờ hãy cùng xây dựng cho bạn một cỗ máy in tiền.
1. Khái niệm và ý tưởng
Trước khi viết code, hãy hình dung rõ ràng, vì nó làm cho mọi bước trở nên hiển nhiên.
Polymarket liệt kê các thị trường nhiệt độ hàng ngày cho các thành phố trên khắp thế giới.
Mỗi thị trường là một tập hợp các bucket.
Một bucket sẽ giải quyết là CÓ (YES) với giá một đô la, các bucket còn lại về không.
Thị trường giải quyết dựa trên MỘT trạm sân bay chính xác, chứ không phải thành phố bạn thấy trong ứng dụng thời tiết.

Công việc của bot bạn thì đơn giản để nói.
Xác định xác suất thực của mỗi bucket tốt hơn đám đông, sau đó mua các bucket mà thị trường định giá thấp.
Bạn KHÔNG phải tự dự báo thời tiết.
Các mô hình trị giá hàng tỷ đô la đã làm điều đó từ nhiều giờ trước.
Bạn đang đọc dự báo của chúng, làm sạch nó, và so sánh với giá thị trường.
Khi xác suất trung thực của bạn cao hơn nhiều so với giá, bạn có một lợi thế.
Mọi thứ bên dưới chỉ là cách tính khoảng cách đó và hành động dựa trên nó mà không tự lừa dối bản thân.
Giữ mọi cài đặt trong một tệp cấu hình, không mã hóa cứng, để bạn có thể điều chỉnh mà không chạm vào logic.
Số dư ban đầu, giao dịch tối đa, lợi thế tối thiểu, giới hạn giá, tỷ lệ Kelly.
Tất cả nằm ở một nơi bạn có thể chỉnh sửa trong vài giây.
2. Khám phá thị trường
Bot bắt đầu bằng cách quét Polymarket để tìm các thị trường nhiệt độ đang hoạt động đáng giao dịch.
Bạn không muốn giao dịch tất cả chúng.
Bạn muốn một bộ lọc loại bỏ rác trước khi bạn lãng phí một lệnh gọi dự báo hay một đồng đô la.
Ba bộ lọc làm hầu hết công việc:
> Sàn khối lượng
Bỏ qua các thị trường mỏng có khối lượng dưới vài nghìn.
Các sổ lệnh mỏng có spread rộng và giá bạn không thể tin tưởng.

> Cửa sổ thời gian
Chỉ giao dịch các thị trường giải quyết trong khoảng 2 đến 72 giờ tới.
Dưới 2 giờ, lợi thế đã được định giá vào.
Quá 72 giờ, dự báo quá không chắc chắn để dựa vào.
> Giới hạn giá
Bỏ qua các bucket đã giao dịch trên khoảng 45 xu.
Ở mức giá đó, thị trường đã định giá hầu hết lợi thế và tiềm năng tăng của bạn rất mỏng.

Mỗi thị trường sống sót chỉ đến một thành phố, một ngày và một trạm giải quyết.
Trạm đó là tất cả, vì vậy bạn lưu trữ tọa độ sân bay chính xác của nó và mã ICAO, không bao giờ là trung tâm thành phố.
Sử dụng tọa độ trung tâm thành phố có thể gây ra sai số 3-8 độ trước khi bot của bạn kịp suy nghĩ.
Bây giờ bạn có một danh sách sạch các thị trường có thể giao dịch, mỗi thị trường gắn liền với điểm chính xác mà dự báo phải nhắm đến.
3. Tiếp nhận dự báo (code)
Bây giờ bạn kéo dự báo cho trạm chính xác của mỗi thị trường, từ nhiều hơn một nguồn.
Một mô hình là một ý kiến.
Ba mô hình cho bạn thấy sự đồng thuận và bất đồng, bản thân điều đó đã là thông tin.
Mỏ neo của bạn là ECMWF, tiêu chuẩn vàng toàn cầu, miễn phí qua Open-Meteo, không cần khóa.
Đối với các thành phố Mỹ trong tầm ngắn, bạn thêm một mô hình độ phân giải cao hơn đọc các quan sát thời gian thực.
Đây là cách lấy ECMWF:
1def get_ecmwf(lat, lon, unit):2url = (3"https://api.open-meteo.com/v1/forecast"4f"?latitude={lat}&longitude={lon}"5f"&daily=temperature_2m_max&temperature_unit={unit}"6"&forecast_days=7&models=ecmwf_ifs025"7"&bias_correction=true"8)9data = requests.get(url, timeout=(5, 8)).json()10return data["daily"]["temperature_2m_max"]
Cờ bias_correction=true đó rất quan trọng - nó áp dụng một lần hiệu chỉnh lỗi dựa trên vị trí miễn phí.
Đối với các thành phố Mỹ trong khoảng 48 giờ, ưu tiên mô hình độ phân giải cao hơn:
1def get_hrrr(lat, lon):2url = (3"https://api.open-meteo.com/v1/forecast"4f"?latitude={lat}&longitude={lon}"5"&daily=temperature_2m_max&temperature_unit=fahrenheit"6"&forecast_days=3&models=gfs_seamless"7)8return requests.get(url, timeout=(5, 8)).json()["daily"]["temperature_2m_max"]
Quy tắc đơn giản: độ phân giải cao cho Mỹ tầm ngắn, ECMWF cho mọi thứ khác.
Yêu cầu mỗi thành phố theo đơn vị riêng của nó, Mỹ theo Fahrenheit, phần còn lại theo Celsius, và giữ mọi so sánh trên cùng một thang đo.
4. Sửa độ lệch (đây là nơi có tiền)
Đây là nơi người chiến thắng tách biệt khỏi những người khác.
Mọi mô hình đều sai một cách có hệ thống theo một hướng nhất quán.
GFS chạy với độ lệch lạnh, nó đánh giá thấp nhiệt độ, và mức độ sai lệch đó phụ thuộc vào thành phố, giờ, và dự báo xa đến đâu.

Nếu bạn bỏ qua bước này, lợi thế của bạn thường chỉ là mô hình sai theo cách thông thường của nó.
Đó không phải lợi thế.
Đó là nhiễu trong trang phục lợi thế.
Vì vậy, trước khi bạn tính toán một xác suất nào, bạn hiệu chỉnh mô hình bằng cách sử dụng các lỗi trong quá khứ của chính nó.
Độ lệch rất đơn giản để định nghĩa.
> độ lệch = dự báo trừ thực tế
Bạn đo nó riêng biệt cho từng thành phố, từng tầm dự báo, từng thời điểm trong ngày, sau đó dịch chuyển các dự báo mới bằng sai số đã biết đó.
Phiên bản đơn giản nhất hoạt động là trung bình giảm dần của các lỗi gần đây, để các sai lệch mới hơn có trọng số cao hơn.
Bạn KHÔNG cần một mạng nơ-ron cho việc này.
Một trung bình giảm dần cơ bản hoặc một hồi quy nhỏ giúp bạn đạt được 60-80% tất cả cải tiến có sẵn.
Triển khai cái đó trước.
Việc hiệu chỉnh độ lệch ML cao cấp là có thật, nhưng đó là 20% cuối, và nó chỉ quan trọng khi phiên bản đơn giản đã kiếm được tiền.
Sửa đầu vào trước.
Một mô hình miễn phí nhàm chán, sau khi hiệu chỉnh, đánh bại một mô hình cao cấp được đưa vào thô.
5. Chuyển dự báo thành xác suất bucket
Bây giờ bạn chuyển đổi một con số dự báo đã hiệu chỉnh thành xác suất cho mỗi bucket.
Đây là sai lầm mà người mới mắc phải.
Họ lấy dự báo, thả nó vào bất kỳ bucket nào nó rơi vào, và gọi bucket đó là 100%.
Nhưng dự báo không chính xác.
Nó là một điểm trung tâm với một độ dàn trải lỗi đã biết xung quanh nó.
Độ dàn trải đó là toàn bộ trò chơi.
Giả sử dự báo đã hiệu chỉnh của bạn là 41F và sai số điển hình của mô hình cho thành phố đó là khoảng 2 độ.
Mức cao thực tế có thể dễ dàng rơi vào một bucket cao hơn hoặc thấp hơn.
Vì vậy bạn không đặt cược một bucket ở 100%.
Bạn dàn trải xác suất trên bucket dự báo VÀ các bucket lân cận, được trọng số bởi khả năng xảy ra của mỗi bucket dựa trên kích thước lỗi của bạn.
Sai số lịch sử hẹp hơn có nghĩa là nhiều xác suất dồn vào bucket trung tâm hơn.
Sai số rộng hơn sẽ dàn trải nó ra các lân cận.
Đây chính xác là lý do tại sao biết sai số thực của bạn, sigma của bạn, lại quan trọng đến vậy.
Nếu không có nó, bạn đang đoán sự tự tin của chính mình.
Có nó, bạn đang biến một dự báo thành một phân phối xác suất trung thực mà thị trường có thể được đo lường dựa trên đó.
Phân phối đó là thứ bạn thực sự giao dịch, từng bucket một.
6. Tìm lợi thế và định cỡ với Kelly
Bây giờ bạn so sánh xác suất của mình với giá thị trường và chỉ hành động khi khoảng cách là thực.
Đầu tiên, giá trị kỳ vọng, lợi thế của bạn trên mỗi đô la:
1def calc_ev(p, price):2if price <= 0 or price >= 1:3return 0.04return round(p * (1.0 / price - 1.0) - (1.0 - p), 4)
Nếu mô hình của bạn nói một bucket là 80% và nó đang giao dịch ở 14 xu:
0.80 * (1/0.14 - 1) - 0.20 = +4.94
Đó là một lợi thế lớn.
Nhưng bạn không bắn vào mọi con số dương - bạn đặt một mức sàn, chỉ giao dịch khi EV vượt qua khoảng 8%, để bạn bỏ qua các tín hiệu yếu.
Sau đó Kelly cho bạn biết nên đặt cược bao nhiêu phần trăm vốn:
1def calc_kelly(p, price, kelly_fraction=0.25):2b = 1.0 / price - 1.03f = (p * b - (1.0 - p)) / b4return min(max(0.0, f) * kelly_fraction, 1.0)
Hai rào chắn giúp bạn sống sót.
> Sử dụng Kelly phân đoạn, một phần tư so với Kelly đầy đủ
Kelly đầy đủ là một tàu lượn siêu tốc, phần phân đoạn cắt giảm phương sai mạnh.
> Giới hạn cứng mỗi giao dịch ở mức cược tối đa từ cấu hình của bạn
Ngay cả khi Kelly hét lên để giao dịch lớn, giới hạn cứu bạn khỏi một thị trường xấu duy nhất.
Vào lệnh ở giá ASK, giá thực bạn trả, và coi giá bid là điểm thoát, nếu không backtest của bạn sẽ nói dối bạn.
7. Thực thi, dừng lỗ và ghi log mọi thứ
Bây giờ bot hành động, và quan trọng không kém, ghi lại.
Vòng lặp chính chạy theo lịch trình, ví dụ mỗi giờ, và thực hiện cùng một thứ theo thứ tự cho mỗi thị trường.
Kéo dự báo mới nhất từ tất cả các nguồn
Tìm thị trường Polymarket tương ứng và tải bản ghi của nó
Lưu dự báo hiện tại dưới dạng ảnh chụp nhanh, vì lịch sử đó là lợi thế tương lai của bạn
Kiểm tra dừng lỗ trên bất kỳ vị thế mở nào
Mở một vị thế mới chỉ khi EV vượt qua sàn của bạn và giá phù hợp
https://x.com/0xSurferX/status/2078620667272896555
Các dừng lỗ của bạn đơn giản và cơ học.
Đóng nếu giá giảm một phần trăm nhất định so với điểm vào.
Đóng nếu dự báo di chuyển đủ xa khỏi bucket của bạn đến mức luận điểm không còn hiệu lực.
Giữa các lần quét đầy đủ, chạy một lần quét nhẹ mỗi vài phút chỉ để theo dõi dừng lỗ, mà không quét lại mọi thành phố.
Và ghi log hoàn toàn mọi thứ.
Mọi ảnh chụp dự báo, mọi giá thị trường bạn thấy, mọi giao dịch, mọi kết quả.
Một tệp cho mỗi thị trường, được thêm vào theo thời gian.
Log đó không phải công việc vô ích.
Nó là nguyên liệu thô cho bước cuối cùng, bước biến một bot tĩnh thành một bot trở nên sắc bén hơn mỗi tuần.
8. Để nó hiệu chỉnh và trở nên thông minh hơn
Đây là điều phân biệt một bot phỏng đoán với một bot BIẾT.
Vào ngày đầu tiên, bot của bạn không thực sự biết dự báo của nó chính xác đến đâu cho mỗi thành phố.
Vì vậy nó chưa nên hoàn toàn tin tưởng vào chính mình.
Nó nên giao dịch nhỏ, ghi log mọi kết quả, và chờ đợi.
Khi nó có đủ thị trường đã giải quyết cho một thành phố, khoảng 30, nó có thể đo sai số thực của mình.
Bạn lấy mọi dự báo bạn đã thực hiện cho thành phố đó, so sánh với những gì thực sự xảy ra, và tính toán sai lệch trung bình.
Sai số trung bình đó trở thành sigma của bạn, sự tự tin thực sự của bạn, cho chính xác thành phố và nguồn đó.
Và sigma đó được đưa thẳng trở lại bước bốn.
Sigma tốt hơn có nghĩa là dàn trải xác suất trung thực hơn trên các bucket, đồng nghĩa với phát hiện lợi thế tốt hơn, đồng nghĩa với định cỡ tốt hơn.
Bot thực sự tự cải thiện khi nó thu thập nhiều thị trường đã giải quyết hơn.
Đây là cùng một kỷ luật mà tôi rao giảng cho mọi bot tôi xây dựng:
Ghi log mọi thứ, chấp nhận rủi ro nhỏ lúc đầu
Để kết quả giải quyết thực tế đo lường độ chính xác thực sự của bạn
Chỉ tăng quy mô khi dữ liệu đã chứng minh lợi thế
Một bot thời tiết tin tưởng vào bản thân ở mức 90% vào ngày đầu tiên cũng là thảm họa giống như một bot crypto được triển khai dựa trên backtest 10.000%.
Cả hai đều tin tưởng vào một con số mà chúng chưa bao giờ có được.
Bạn không muốn thấy điều gì đó như thế này, tin tôi đi:

Hãy tiếp tục.
9. Tổng hợp tất cả
Bây giờ hãy kết luận một chút.
**
Hãy lùi lại và nhìn vào những gì bạn đã xây dựng:**
Khám phá các thị trường sạch, gắn liền với trạm giải quyết chính xác
Kéo ba nguồn dự báo cho trạm đó
Hiệu chỉnh độ lệch đã biết của mỗi mô hình
Chuyển dự báo đã hiệu chỉnh thành xác suất bucket bằng cách sử dụng sai số thực của bạn
Chỉ giao dịch khi lợi thế vượt qua 8%
Định cỡ với Kelly phân đoạn và giới hạn cứng
Thực thi, dừng lỗ, ghi log và hiệu chỉnh cho đến khi nó tự mài sắc
Không cần mạng nơ-ron để bắt đầu, không cần trung tâm dữ liệu hay máy chủ đặt cùng vị trí.
Chỉ cần dự báo miễn phí, toán học trung thực và sự kiên nhẫn để để nó chứng minh bản thân trên các kết quả thực tế.
Để nó chạy từ hai đến ba tuần trước khi bạn đánh giá, vì thị trường thời tiết giải quyết hàng ngày và bạn cần 50-100 giao dịch đã giải quyết để biết bạn có gì.
Tôi đã xây dựng hơn 200 bot và hình dạng chính xác này là thứ thực sự kiếm tiền trong khi những thứ cao cấp vẫn nằm dang dở.
Đường ống đơn giản, hiệu chỉnh trung thực, kỷ luật nhàm chán.
Đó thực sự là tất cả những gì bạn cần.
Thời tiết là thị trường trung thực cuối cùng trên Polymarket.
Xây dựng sáu bước vào cuối tuần này, để nó hiệu chỉnh, và tham gia trước khi đám đông thức dậy.
Phân tích đầy đủ về bước hiệu chỉnh độ lệch sẽ có trong bài tiếp theo, đừng bỏ lỡ.
Phát hành phần 2 vào thứ Tư.
Cũng tham gia kênh tg nhỏ của tôi nếu bạn muốn kết nối.
Tham gia tại đây: https://t.me/+jCBHygDAJa9hMTJk

Ở đây chúng ta cùng xây dựng, thảo luận và sửa lỗi.
Hy vọng bạn thấy bài viết này hữu ích, vì đó là toàn bộ mục đích.
Chúc bạn may mắn!


![[Lời xin lỗi và Lòng biết ơn] Định nghĩa lại giá trị của văn phòng trong kỷ nguyên AI](https://youmind.club/__ym/cms-assets/media/1784654487214_c56a6p_HNr6-znbwAAQJbv.jpg)


