Ho analizzato 10 milioni di trade di bot su Polymarket con Claude: come i bot guadagnano oltre 1.000$ al giorno

@Dan1ro0
INGLESE3 settimane fa · 27 giu 2026
236K
58
9
8
148

TL;DR

Un'analisi tecnica di 10 milioni di trade di bot su Polymarket, che illustra cinque modelli di profitto specifici e i framework matematici alla loro base.

Per il trader medio, un mercato a breve termine su Polymarket sembra semplice:

Bitcoin sarà più alto o più basso tra cinque minuti?

Un bot di trading vede un problema completamente diverso.

Sta tracciando il prezzo sottostante, il tempo alla scadenza, la liquidità su entrambi i lati, i mercati correlati e il proprio inventario in tempo reale - tutto contemporaneamente:

Daniro - inline image

Link wallet: https://polymarket.com/@bonereaper?via=dan-kwpx

Mentre un umano sta ancora decidendo se comprare Su o Giù, il bot potrebbe aver già:

**> acquisito un nuovo segnale di prezzo > ricalcolato il prezzo dell'esito > confrontato con il prezzo del contratto > controllato i mercati vicini > piazzato multipli ordini limite > rimodellato l'intera posizione**

È così che alcuni di questi sistemi trasformano piccoli gap di prezzo in più di $1.000 di profitto giornaliero

Ho analizzato l'attività di 1.000+ bot e più di 10 milioni di esecuzioni sui mercati crypto Su/Giù a breve durata di Polymarket tramite Claude.

Inizialmente, il trading sembra completamente caotico. Lo stesso wallet compra Su, aggiunge Giù secondi dopo, vende parte della prima posizione e conclude il mercato detenendo entrambi gli esiti.

Ma una volta ricostruito l'intero ciclo di vita del trade, il rumore inizia ad avere senso. Di solito c'è un sistema molto specifico alla base.

Ecco come funziona l'intera macchina 👇

1. Perché i bot di trading vengono usati su Polymarket

Il vantaggio principale di un bot non è la perfetta previsione del Bitcoin

Il suo vantaggio deriva da velocità, coerenza e capacità di elaborare più informazioni di quante un umano possa realisticamente monitorare contemporaneamente:

Daniro - inline image

Link wallet: https://polymarket.com/@0xb55fa1296e6ec55d0ce53d93b9237389f11764d4-1777575277609?via=dan-kwpx

Un contratto a breve durata non viene prezzato solo in base al fatto che Bitcoin si stia muovendo Su o Giù

L'algoritmo deve anche tenere conto di:

**> distanza dal prezzo di apertura > velocità dell'ultimo movimento > tempo rimanente > volatilità attuale > profondità del book ordini > prezzi di Su e Giù > comportamento nei mercati correlati > feed esatto utilizzato per la risoluzione**

In un mercato di cinque minuti, un'opportunità reale può esistere per solo pochi secondi

Un umano potrebbe ancora passare da un grafico all'altro mentre un altro algoritmo sta già prendendo la liquidità disponibile e sostituendo i suoi ordini

La maggior parte dei bot di trading è costruita attorno a cinque componenti principali:

  1. Livello Dati - trasmette prezzi esterni e aggiornamenti del book ordini
  2. Motore di Segnale - rileva cambiamenti che potrebbero influenzare l'esito
  3. Modello di Probabilità - calcola una probabilità equa indipendente
  4. Motore di Esecuzione - piazza, cancella e regola gli ordini
  5. Gestore del Rischio - controlla la dimensione della posizione e blocca operazioni che superano i limiti predefiniti

Un segnale che il Bot può calcolare direttamente dal book ordini è lo squilibrio tra volume di acquisto e vendita:

python
1def orderbook_imbalance(bids, asks):
2 bid_volume = sum(size for price, size in bids)
3 ask_volume = sum(size for price, size in asks)
4
5 total_volume = bid_volume + ask_volume
6
7 if total_volume == 0:
8 return 0.0
9
10 return (
11 bid_volume - ask_volume
12 ) / total_volume
13
14bids = [
15 (0.48, 1_250),
16 (0.47, 920),
17 (0.46, 680)
18]
19
20asks = [
21 (0.49, 640),
22 (0.50, 510),
23 (0.51, 430)
24]
25
26imbalance = orderbook_imbalance(bids, asks)
27
28print(f"Order-book imbalance: {imbalance:.2%}")

Un valore positivo significa che c'è più volume di acquisto nella sezione analizzata del book. Un valore negativo significa che il volume di vendita è maggiore. Questo segnale da solo non prova che il prezzo si muoverà.

Ordini grandi possono essere cancellati e la liquidità lontana dal miglior prezzo potrebbe non influenzare mai l'esecuzione.

Ma combinato con il movimento di Bitcoin, il tempo rimanente e i feed di prezzo esterni, diventa una parte di un segnale più forte.

Un bot non è utile perché fa trading automaticamente su ogni movimento del mercato. Un sistema solido guadagna il suo vantaggio rifiutando la maggior parte delle configurazioni prima che diventino posizioni.

2. Dopo aver ricevuto un segnale, il Bot aggiorna la probabilità con Bayes 🧮

Supponiamo che Su sia scambiato a 41¢.

Bitcoin accelera improvvisamente, il volume aumenta e il book ordini inizia a mostrare una pressione di acquisto più forte.

Un umano potrebbe pensare:

Questo movimento sembra forte.

Su

potrebbe essere sottoprezzato

L'algoritmo ha bisogno di una risposta più precisa:

Esattamente quanto questo segnale ha cambiato la probabilità di

Su

?

È qui che entra in gioco il teorema di Bayes.

Daniro - inline image

Link wallet: https://polymarket.com/@0xce25e214d5cfe4f459cf67f08df581885aae7fdc-1777575398144?via=dan-kwpx

Bayes permette al modello di iniziare con una probabilità esistente e aggiornarla dopo aver ricevuto nuove prove.

La formula è:

P(Su | Segnale) = P(Segnale | Su) × P(Su) / [P(Segnale | Su) × P(Su) + P(Segnale | Giù) × P(Giù)]

Dove:

P(Su)

* è la probabilità prima del nuovo segnale *

P(Segnale | Su)

* è la frequenza con cui questo segnale appare prima di un risultato Su *

P(Segnale | Giù)

* è la frequenza con cui appare prima di un risultato Giù *

P(Su | Segnale)

è la probabilità aggiornata

Supponiamo:

la probabilità originale di

Su

* è 41% questo segnale appare nel 64% degli scenari storici di *

Su

* lo stesso segnale appare nel 35% degli scenari di *

Giù

python
1def bayes_update(
2 prior_up,
3 signal_given_up,
4 signal_given_down
5):
6 numerator = signal_given_up * prior_up
7
8 denominator = (
9 numerator
10 + signal_given_down * (1 - prior_up)
11 )
12
13 return numerator / denominator
14
15prior = 0.41
16
17posterior = bayes_update(
18 prior_up=prior,
19 signal_given_up=0.64,
20 signal_given_down=0.35
21)
22
23print(f"Previous probability: {prior:.2%}")
24print(f"Updated probability: {posterior:.2%}")

La stima aggiornata è di circa il 56%. Se il contratto è ancora scambiato a 41¢, il bot vede un gap misurabile:

*valore equo interno - 56% prezzo di mercato - 41¢ vantaggio teorico - 15 punti percentuali*

Per un umano, questo potrebbe sembrare una forte idea di trading. Per un Bot, è una differenza specifica tra il valore equo e il prezzo di mercato corrente.

Bayes non è una scorciatoia per le previsioni, tuttavia.

Se il modello dà troppo peso a segnali deboli o conta le stesse informazioni più volte, il risultato sarà costantemente distorto.

Un movimento di prezzo, un aumento di volume e uno squilibrio del book ordini possono sembrare tre conferme separate quando in realtà sono tre effetti dello stesso evento.

Un modello solido deve tenere conto di questa sovrapposizione.

3. Un contratto mal prezzato non è automaticamente un'operazione redditizia

Anche se il modello valuta Su al 56%, comprarlo a 41¢ non crea automaticamente profitto.

L'esecuzione reale include:

*> commissioni taker > spread bid-ask > slippage > esecuzioni parziali > deterioramento del prezzo > incertezza del modello*

Il bot calcola quindi il vantaggio netto - il vantaggio che rimane dopo che la posizione è stata effettivamente eseguita.

python
1def calculate_net_edge(
2 model_probability,
3 execution_price,
4 fee,
5 slippage,
6 safety_buffer
7):
8 gross_edge = (
9 model_probability - execution_price
10 )
11
12 net_edge = (
13 gross_edge
14 - fee
15 - slippage
16 - safety_buffer
17 )
18
19 return gross_edge, net_edge
20
21gross, net = calculate_net_edge(
22 model_probability=0.56,
23 execution_price=0.47,
24 fee=0.017,
25 slippage=0.005,
26 safety_buffer=0.010
27)
28
29print(f"Gross edge: {gross:.2%}")
30print(f"Net edge: {net:.2%}")

Il gap originale di nove punti scende a circa sei punti dopo i costi.

Se la liquidità è limitata, il bot potrebbe riempire solo una piccola parte della posizione a 47¢. La dimensione rimanente potrebbe dover essere acquistata a un prezzo più alto.

Il vantaggio può scomparire prima che l'intera posizione sia costruita. La stessa logica si applica all'arbitraggio binario.

Se quantità uguali di Su e Giù possono essere acquisite per meno di $1 dopo tutti i costi, un lato alla fine pagherà $1.

Ma il sistema deve utilizzare il prezzo di esecuzione medio ponderato per volume reale, non semplicemente il prezzo più interessante visibile in cima al book ordini.

È qui che un backtest pulito e l'esecuzione live spesso producono risultati molto diversi. Un umano nota un prezzo insolito. Un Bot deve dimostrare che rimane abbastanza valore dopo l'inclusione dei costi di mercato.

4. Il miglior vantaggio spesso esiste tra mercati correlati 🕸

I contratti a breve durata non si muovono in isolamento.

Un movimento di Bitcoin può influenzare tutti i seguenti:

> la finestra

BTC

* 5m corrente > la finestra successiva di cinque minuti > *

BTC

* 15m > *

BTC

* 1h > i mercati correlati di *

ETH

e

SOL

Ma questi mercati non si aggiornano sempre alla stessa velocità.

Ogni contratto ha il proprio book ordini, liquidità, livello di apertura e partecipanti.

Per esempio:

>

BTC

* 5m potrebbe ricalcolare immediatamente il prezzo > *

BTC

* 15m potrebbe rispondere meno del previsto > una finestra vicina potrebbe mantenere il suo precedente squilibrio del book > un contratto potrebbe diventare costoso > un altro potrebbe continuare a scambiare su presupposti obsoleti*

Daniro - inline image

Link wallet: https://polymarket.com/@flippingsharks?via=dan-kwpx

Il bot misura se il gap tra mercati correlati è uscito dal suo range normale.

Uno strumento semplice è uno z-score:

Z = (spread corrente − spread medio) / deviazione standard

python
1def spread_zscore(
2 current_spread,
3 average_spread,
4 spread_deviation
5):
6 return (
7 current_spread - average_spread
8 ) / spread_deviation
9
10z = spread_zscore(
11 current_spread=0.112,
12 average_spread=0.036,
13 spread_deviation=0.025
14)
15
16print(f"Spread z-score: {z:.2f}")

Una lettura superiore a 3 significa che il gap corrente è molto al di fuori del range che il modello osserva di solito.

Questo non crea automaticamente un'operazione. Un mercato potrebbe essere genuinamente in ritardo. Oppure il mercato che si è mosso per primo potrebbe aver già incorporato informazioni che i contratti vicini non hanno ancora elaborato.

Un Bot inoltre non può confrontare BTC 5m e BTC 15m solo guardando i loro prezzi Su.

Hanno diversi livelli di apertura e diverse quantità di tempo rimanente.

Un sistema serio confronta quanto ogni contratto si è allontanato dal proprio modello di valore equo.

Un umano guarda un mercato. Un bot guarda una rete di probabilità connesse e identifica la parte che si è temporaneamente allontanata dal resto.

5. Cinque modi in cui i Bot trasformano il vantaggio in una posizione 🔄

Una volta che il segnale è stato confermato, la probabilità aggiornata e il vantaggio netto rimane positivo, inizia la fase più interessante.

Il bot deve decidere come costruire e gestire la posizione.

Dopo aver raggruppato le esecuzioni individuali in cicli di trading completi, sono emersi cinque modelli ricorrenti.

1️⃣ Rotazione Dinamica della Posizione

Questo sistema aggiorna continuamente la sua visione e può cambiare direzione più volte all'interno dello stesso contratto. Supponiamo che il modello consideri Su sottoprezzato all'inizio di un mercato di cinque minuti.

Inizia ad accumulare Su tramite ordini limite.

Poi la configurazione cambia:

Bitcoin

* perde slancio il prezzo torna verso il livello di apertura gli acquirenti scompaiono dal book ordini la probabilità di *

Su

del modello diminuisce

Il bot non deve mantenere la posizione originale fino alla risoluzione. Può vendere parte del suo Su, cancellare gli ordini rimanenti e iniziare ad accumulare Giù.

Se il mercato cambia di nuovo, la posizione può essere ricostruita ancora una volta. L'obiettivo non è identificare perfettamente l'esito finale al primo tentativo.

L'obiettivo è rimanere più esposti al lato che è attualmente prezzato al di sotto della stima aggiornata del modello.

La forza di questo approccio è che il bot può abbandonare una visione obsoleta immediatamente.

La debolezza principale sono i falsi inversamenti ripetuti.

Durante una finestra rumorosa, il sistema potrebbe:

comprare

Su

* dopo un movimento al rialzo ridurlo dopo un pullback passare a *

Giù

* ridurre *

Giù

dopo il successivo movimento al rialzo

I costi di esecuzione e i cambiamenti ripetuti di posizione possono gradualmente rimuovere il vantaggio originale.

Un bot di rotazione dovrebbe quindi cambiare direzione solo quando il nuovo segnale è abbastanza forte da coprire il costo di uscita, ricostruzione della posizione e la possibilità di sbagliare di nuovo:

Daniro - inline image

Link wallet: https://polymarket.com/@trinity42?via=dan-kwpx

2️⃣** Arbitraggio Temporale

L'arbitraggio tradizionale appare quando Su e Giù possono essere acquistati contemporaneamente per meno di $1.

L'arbitraggio temporale costruisce i due lati in momenti diversi. Immagina che Bitcoin si muova bruscamente al rialzo poco dopo l'apertura del mercato.

Giù scende a 26¢ e il bot accumula gradualmente 750 contratti a un prezzo medio di 27.4¢. Due minuti dopo, Bitcoin restituisce gran parte del movimento e scambia più vicino al livello di apertura.

Ora Su diventa più economico e il bot acquista 750 Su a un prezzo medio di 49.8¢.

La struttura finale è:

*750 Giù a 27.4¢ 750 Su a 49.8¢ costo totale per coppia completa - 77.2¢*

Indipendentemente dall'esito finale, un contratto in ogni coppia paga $1. Questo crea un margine lordo di 22.8¢ per coppia prima di commissioni e costi di esecuzione. Il dettaglio chiave è che Giù a 27.4¢ e Su a 49.8¢ non sono mai stati disponibili contemporaneamente.

Il bot ha creato l'arbitraggio da due diversi stati di mercato. Tuttavia, il primo acquisto è ancora esposto al rischio direzionale.

Se Bitcoin continua a salire, il bot potrebbe non ricevere mai un prezzo Su sufficientemente interessante per completare la coppia.

Rimarrebbe quindi con 750 contratti Giù che continuano a perdere valore.

Il sistema quindi traccia:

*quantità detenuta su ciascun lato costo medio di entrambi gli esiti costo dell'inventario già protetto dimensione della posizione direzionale non accoppiata tempo massimo consentito per attendere il secondo lato*

Alcuni bot costruiscono la struttura in blocchi più piccoli.

Potrebbero acquistare 100 Giù, aspettare di poter aggiungere 100 Su, completare la prima coppia protetta e solo allora continuare ad aumentare la dimensione.

Questo riduce il potenziale rendimento massimo ma limita anche il rischio di rimanere con una grande posizione unilaterale.

L'arbitraggio temporale funziona meglio in mercati con diversi movimenti significativi in entrambe le direzioni.

Un movimento prolungato in una sola direzione è il suo ambiente più difficile:

Daniro - inline image

Link wallet: https://polymarket.com/@garvy?via=dan-kwpx

3️⃣** Bot Market-Making di Inventario

Questo sistema non gestisce una singola posizione. Gestisce un intero inventario di contratti.

Potrebbe fare trading su:

*BTC, ETH e SOL mercati 5m, 15m, 1h e 4h sia Su che Giù su più finestre*

Il bot compra e vende in piccole quantità mentre traccia continuamente il costo totale del suo inventario. Supponiamo che abbia accumulato entrambi i lati di un contratto. Vicino alla scadenza, Giù diventa il chiaro favorito e si muove a 98¢.

Invece di aspettare semplicemente la risoluzione, il bot potrebbe:

*vendere parte del costoso inventario Giù liberare capitale prima del regolamento mantenere il resto della posizione principale acquistare una piccola quantità di Su a 2¢ spostare il capitale disponibile in un altro mercato*

Acquistare il lato a basso prezzo può inizialmente sembrare insolito.

Ma una piccola posizione a 1-2¢ può fungere da protezione economica contro un improvviso movimento finale. Se non cambia nulla, il costo è limitato. Se Bitcoin attraversa inaspettatamente il livello di apertura, la piccola posizione Su può compensare parte della perdita altrove.

Il bot di inventario può anche sfruttare le differenze tra mercati correlati.

Un contratto può offrire un buon prezzo di entrata. Un altro può fornire liquidità più profonda per un'uscita. Un terzo può offrire il lato opposto a un prezzo insolitamente basso.

La sfida principale è il costo medio dell'inventario completo.

Se il costo medio Su è 56¢ e il costo medio Giù è 49¢, una coppia protetta costa $1.05.

La risoluzione paga solo $1.

Per recuperare quella differenza di cinque centesimi, il sistema ha bisogno di guadagni aggiuntivi dalla vendita di inventario costoso, dal mantenimento di uno squilibrio direzionale controllato, dal guadagno di rebate maker o dallo spostamento del capitale in modo più efficiente tra i mercati:

Daniro - inline image

Link wallet: https://polymarket.com/@polkadot-frog?via=dan-kwpx

4️⃣** Bot Direzionale Coperto

Questa struttura si trova tra l'arbitraggio puro e una posizione completamente direzionale.

Supponiamo che il bot detenga:

*280 Su 257 Giù*

Le prime 257 Su e 257 Giù formano una base protetta. Indipendentemente dall'esito finale, un lato di questo blocco paga $257. I restanti 23 contratti Su creano un'inclinazione direzionale.

Se Su diventa il risultato finale, quei contratti aggiuntivi aumentano il pagamento. Se Giù diventa il risultato finale, la posizione opposta copre la maggior parte dell'esposizione.

Il sistema sta effettivamente dicendo:

Il mio modello attualmente favorisce Su, ma non voglio che l'intera posizione dipenda da un solo esito.

La dimensione dello squilibrio può cambiare durante il mercato. Quando la fiducia aumenta, il bot aggiunge più Su. Quando il segnale si indebolisce, riduce Su o acquista ulteriore Giù.

Detenere entrambi i lati non rende automaticamente la struttura efficiente.

Se le coppie protette sono state costruite sopra $1, creano un margine negativo garantito.

Supponiamo che il costo medio della coppia sia $1.04. I 23 contratti Su extra devono prima recuperare la perdita sulla base protetta, insieme a commissioni e slippage.

Solo dopo che l'intera posizione diventa redditizia.

In alcuni casi, una copertura costosa è meno efficiente del mantenimento di una posizione direzionale più piccola:

Daniro - inline image

Link wallet: https://polymarket.com/@uuddlrlr?via=dan-kwpx

5️⃣** Bot di Acquisizione a Risoluzione Tardiva

Il modello finale si concentra quasi interamente sulla fase di chiusura del mercato.

Quando un esito è quasi determinato, il lato finale probabile potrebbe ancora scambiare a 98-99¢. Il bot acquista il volume rimanente disponibile e attende il pagamento di $1.

Per esempio:

*entrata a 98.6¢ pagamento a $1 profitto lordo - 1.4¢ per contratto*

Il rendimento di ogni operazione è piccolo, quindi il sistema scansiona un gran numero di mercati e utilizza un volume sostanziale.

La strategia può sembrare altamente prevedibile, ma il suo profilo di rendimento è molto irregolare.

Se 99 operazioni generano un centesimo ciascuna e una posizione a 99¢ si risolve in modo errato, i guadagni precedenti possono scomparire.

Quell'esecuzione errata potrebbe derivare da:

*un brusco movimento all'ultimo secondo una differenza tra i feed di prezzo un livello di apertura errato un aggiornamento di risoluzione ritardato un'errata comprensione delle regole del mercato un ordine rimasto attivo troppo a lungo*

Un sistema a risoluzione tardiva quindi ha bisogno di più della velocità.

Deve sapere esattamente quale feed determina l'esito e quanto il valore corrente è lontano dal confine del contratto.

La struttura finale della posizione può essere analizzata a livello programmatico.

python
1def inspect_position(
2 up_quantity,
3 down_quantity,
4 up_average_price,
5 down_average_price
6):
7 protected_pairs = min(
8 up_quantity,
9 down_quantity
10 )
11
12 directional_up = max(
13 up_quantity - down_quantity,
14 0
15 )
16
17 directional_down = max(
18 down_quantity - up_quantity,
19 0
20 )
21
22 pair_cost = (
23 up_average_price
24 + down_average_price
25 )
26
27 return {
28 "protected_pairs": protected_pairs,
29 "extra_up": directional_up,
30 "extra_down": directional_down,
31 "average_pair_cost": pair_cost,
32 "pair_margin": 1 - pair_cost
33 }
34
35position = inspect_position(
36 up_quantity=280,
37 down_quantity=257,
38 up_average_price=0.51,
39 down_average_price=0.46
40)
41
42print(position)

Ma un'istantanea finale non rivela ancora la strategia completa.

Per comprendere il sistema, devi sapere come è stata costruita la posizione, quali parti sono state vendute e come il costo medio è cambiato nel tempo.

6. Trovare un errore di prezzo non basta — il bot deve comunque catturarlo 🎯

Supponiamo che il bot trovi un'opportunità per acquistare Su e Giù per un totale combinato di 94¢. Invia entrambi gli ordini. Su viene riempito completamente.

Prima che Giù venga riempito, il mercato si muove, la liquidità disponibile scompare e il secondo lato diventa più costoso.

L'arbitraggio non esiste più.

Il bot ora detiene una posizione direzionale Su aperta.

Questo è il rischio di inventario.

Un sistema solido non può semplicemente identificare prezzi insoliti. Deve gestire l'intero processo di esecuzione.

Deve decidere:

*quanto tempo attendere per il secondo lato quando aggiustare l'ordine limite quanto squilibrio è accettabile quando rimanere maker e quando eseguire come taker se ridurre il primo lato dopo che il vantaggio è scomparso*

Un modo per gestire questo è attraverso una logica ispirata al modello Avellaneda–Stoikov.

L'idea centrale è semplice: la quotazione accettabile dovrebbe cambiare in base all'inventario già detenuto.

Una formula semplificata è:

Prezzo di riserva = Prezzo equo − Inventario × Rischio × Volatilità² × Tempo

python
1def reservation_price(
2 fair_price,
3 inventory,
4 risk_aversion,
5 volatility,
6 time_remaining
7):
8 inventory_adjustment = (
9 inventory
10 * risk_aversion
11 * volatility ** 2
12 * time_remaining
13 )
14
15 return fair_price - inventory_adjustment
16
17quote = reservation_price(
18 fair_price=0.57,
19 inventory=0.40,
20 risk_aversion=0.80,
21 volatility=0.18,
22 time_remaining=0.25
23)
24
25print(f"Inventory-adjusted quote: {quote:.3f}")

Se il bot detiene già troppo Su, dovrebbe diventare meno disposto ad acquistare ulteriore Su.

Allo stesso tempo, può diventare più aggressivo nell'acquisire Giù per ridurre lo squilibrio.

Anche il tipo di ordine è importante:

GTC

* rimane attivo fino al riempimento o alla cancellazione *

GTD

* scade a un'ora specificata *

FOK

* si riempie completamente o viene cancellato *

FAK

* riempie la quantità disponibile e cancella il resto *

Post-only

garantisce che l'ordine aggiunga liquidità

In un mercato di cinque minuti, la qualità dell'esecuzione può essere più importante della previsione iniziale.

Il modello può stimare correttamente il valore equo e comunque perdere denaro se la posizione viene costruita troppo lentamente o a un prezzo medio inefficiente.

7. Lo strato finale è il dimensionamento della posizione e la protezione del capitale 🛡

Un forte vantaggio non giustifica l'allocazione di tutto il capitale disponibile in un unico mercato.

Esiste sempre la possibilità che:

*il modello abbia sopravvalutato il segnale il secondo lato non venga riempito la liquidità scompaia l'esecuzione media sia peggiore del previsto diverse posizioni correlate perdano valore contemporaneamente*

Un punto di partenza comune per il dimensionamento della posizione è il criterio di Kelly.

La formula è:

f = (b × p − q) ÷ b

\*

Dove:

p

* è la probabilità di successo *

q = 1 − p

* è la probabilità di fallimento *

b

* è il pagamento netto rispetto all'importo a rischio *

f

\ è la frazione di capitale full-Kelly*

In pratica, molti sistemi utilizzano solo una frazione del risultato.

python
1def fractional_kelly(
2 win_probability,
3 entry_price,
4 fraction=0.25
5):
6 lose_probability = 1 - win_probability
7
8 net_odds = (
9 1 - entry_price
10 ) / entry_price
11
12 full_kelly = (
13 net_odds * win_probability
14 - lose_probability
15 ) / net_odds
16
17 return max(
18 full_kelly * fraction,
19 0
20 )
21
22allocation = fractional_kelly(
23 win_probability=0.61,
24 entry_price=0.50,
25 fraction=0.25
26)
27
28print(f"Capital allocation: {allocation:.2%}")

Il Kelly frazionario riduce la probabilità che una singola stima imprecisa del modello o una cattiva esecuzione causino danni significativi alla strategia.

Il sistema applica quindi dei limiti rigidi:

*dimensione massima per posizione esposizione massima per asset limite sull'inventario non coperto limite di perdita giornaliero arresto di emergenza quando i dati diventano inaffidabili*

Anche la correlazione è importante.

BTC 5m, BTC 15m, ETH 5m e SOL 5m possono sembrare mercati separati, ma durante un movimento ampio delle criptovalute possono tutti perdere valore contemporaneamente.

Il ruolo del risk manager non è massimizzare la dimensione di ogni opportunità interessante.

Il suo ruolo è assicurarsi che un singolo scenario non possa eliminare la capacità del sistema di continuare a operare.

8. Come appare lo stack completo del bot ⚙️

Un bot Polymarket moderno non è un singolo script Python che confronta Binance con il prezzo Up.

Di solito opera su diversi livelli.

Livello 1 - Dati di Mercato

Prezzi esterni, il feed di risoluzione ufficiale, i book degli ordini in tempo reale, le esecuzioni recenti e lo stato degli ordini del bot stesso.

Livello 2 - Segnali

Movimento dei prezzi, volume, volatilità, squilibrio del book e dislocazioni tra mercati correlati.

Livello 3 - Probabilità

Il modello aggiorna la probabilità equa ogni volta che arrivano nuove informazioni significative.

Livello 4 - Logica di Posizione

Il sistema sceglie tra rotazione, arbitraggio temporale, gestione dell'inventario, una copertura direzionale o l'esecuzione a risoluzione tardiva.

Livello 5 - Esecuzione e Rischio

Gli ordini vengono piazzati, cancellati e aggiustati mentre l'inventario e la dimensione della posizione rimangono entro i limiti predefiniti.

Livello 6 - Ricerca

Claude viene utilizzato per analizzare la cronologia delle negoziazioni, identificare strutture ricorrenti, scrivere backtest e studiare cicli di trading non riusciti.

Il ciclo ad alto livello può assomigliare a questo.

python
1async def run_bot():
2 while True:
3 state = await receive_market_update()
4
5 signal = build_signal(state)
6 probability = update_probability_model(
7 state,
8 signal
9 )
10
11 edge = scan_for_edge(
12 state,
13 probability
14 )
15
16 if not edge["tradable"]:
17 continue
18
19 position_plan = choose_position_model(
20 state,
21 edge
22 )
23
24 orders = build_execution_plan(
25 state,
26 position_plan
27 )
28
29 if risk_manager_approves(
30 orders,
31 state
32 ):
33 await send_orders(orders)

Claude può aiutare a identificare quali strutture si ripetono in milioni di esecuzioni storiche.

Ma il ciclo di trading a bassa latenza stesso dovrebbe rimanere deterministico: ricevere i dati, applicare le regole, verificare i limiti e inviare l'ordine.

Conclusione: i bot redditizi fanno molto più che scegliere tra Su e Giù

I mercati a breve durata sembrano semplici contratti direzionali.

Un sistema redditizio esegue una sequenza molto più lunga:

*riceve un nuovo segnale lo converte in una probabilità verifica il vantaggio netto confronta i mercati correlati seleziona una struttura di posizione gestisce l'esecuzione limita il rischio*

Alcuni Bot ruotano tra Su e Giù più volte all'interno della stessa finestra. Altri accumulano entrambi i lati in momenti diversi. Alcuni gestiscono un ampio inventario su diverse finestre temporali. Altri mantengono una base protetta con un leggero orientamento direzionale.

Un gruppo separato si concentra sul catturare la differenza di prezzo residua poco prima della risoluzione.

Ma la formula di base è solitamente simile:

*dati affidabili una stima di probabilità indipendente vantaggio dopo i costi la giusta struttura di posizione esecuzione precisa rischio controllato*

Questi Bot non sanno dove sarà Bitcoin tra cinque minuti.

Semplicemente sono più veloci nel calcolare quanto ogni possibile risultato dovrebbe valere in questo momento.

Grazie per aver visualizzato il mio articolo, sarei grato per un feedback!

Seguimi su X✌️: https://x.com/Dan1ro0**

Unisciti al mio Telegram per saperne di più✍️: https://t.me/+VDXq5wkZ2AIxMDBi

Salva con un clic

Leggi in profondità gli articoli virali con l’AI di YouMind

Salva la fonte, fai domande mirate, riassumi l’argomentazione e trasforma un articolo virale in note riutilizzabili in un unico spazio di lavoro AI.

Scopri YouMind
Per i creator

Trasforma il tuo Markdown in un articolo 𝕏 pulito

Quando pubblichi i tuoi testi lunghi, formattare immagini, tabelle e blocchi di codice per 𝕏 è una seccatura. YouMind trasforma un'intera bozza Markdown in un articolo 𝕏 pulito e pronto da pubblicare.

Prova Markdown verso 𝕏

Altri pattern da decodificare

Articoli virali recenti

Esplora altri articoli virali