Files
profitable-expert-advisor/polymarket/trading/__pycache__/engine.cpython-312.pyc
T

101 lines
12 KiB
Plaintext
Raw Normal View History

2026-02-13 08:03:25 +01:00
Ë
lo~i-ãó„dZddlmZmZmZddlmZddlZddlmZm Z ddl
m Z ddl m
Z
dd lmZdd
lmZGd d «Zy)
z`
Live Trading Engine for Polymarket
Handles real-time order placement and position management.
é)ÚDictÚOptionalÚList)ÚdatetimeNé)Ú BaseStrategyÚ MarketSignal)Ú GammaClient©Ú
ClobClient)Ú
DataClient)ÚConfigcó eZdZdZ ddedefdZdZddee dee fd „Z
dd
ed efd Z d
e de
dee
fdZd
e de
de
fdZdZdZdZdZy)ÚLiveTradingEnginezz
Live trading engine for Polymarket.
Monitors markets, executes strategy signals, and manages positions.
ÚstrategyÚ
poll_intervalcóÄ||_||_d|_t«|_t «|_ttj¬«|_
g|_ d|_ y)
Initialize live trading engine.
Args:
strategy: Strategy instance to trade
poll_interval: Seconds between market checks
F)Úapi_keyN)
rrÚ
is_runningr
Ú gamma_clientr Ú clob_clientr
rÚ DATA_API_KEYÚ data_clientÚmonitored_marketsÚlast_check_time)Úselfrrs ú9D:\profitable-expert-advisor\polymarket\trading\engine.pyÚ__init__zLiveTradingEngine.__init__sUð!ˆŒ
ØÔ؈Œô(›MˆÔÜ%›<ˆÔÜ%¬f×.AÑ.AÔÔð.0ˆÔØ37ˆÕóc ó ddlm}ddlm}tj
s t
d«d}tj}||tj
|¬«|_|jj«}|||d|d|d tjtj|¬
«|_td «y #t$r td
«td«d|_Yyt$r}td|«d|_Yd}~yd}~wwxYw)
Setup authenticated CLOB client for order placement.
Note: This requires py-clob-client package and proper authentication.
For full implementation, install: pip install py-clob-client
rr )Úcreate_or_derive_api_credsz(POLYMARKET_PRIVATE_KEY not set in configzhttps://clob.polymarket.com)ÚhostÚkeyÚchain_idÚapiKeyÚsecretÚ
passphrase)r"rÚ
api_secretÚapi_passphraseÚsignature_typeÚfunderr$z&CLOB client authenticated successfullyTzOWarning: py-clob-client not installed. Install with: pip install py-clob-clientz$Live trading will be simulated only.NFzError setting up CLOB client: )Úpy_clob_client.clientr Úpy_clob_client.utilitiesr!rÚ PRIVATE_KEYÚ
ValueErrorÚCHAIN_IDÚtrading_clientÚSIGNATURE_TYPEÚFUNDER_ADDRESSÚprintÚ ImportErrorÚ Exception)rÚ PyClobClientr!r"r$ÚcredsÚes rÚsetup_clob_clientz#LiveTradingEngine.setup_clob_client/sÿð* Ý × Ð!KÓ1ˆˆHá".ØÜ×#ˆ ð×'×Dˆ#/ØØ˜h™Ø  ™?Ø$ \Ñ×#ˆDÔ ô
Ð øäò Ü Ð Ð 9Ø"&ˆ ÙÜò Ü Ð2°1°#Ð 7Ø"&ˆ Üûð úsB5B8Â8&DÃ DÃ(DÄD
event_slugÚ market_slugcó"|rM|jj|«}|r/|jj||j dg«dœ«yy|r>|jj |«}|r |jjd|gdœ«yyy)
Add a market to monitor.
Args:
event_slug: Event slug (e.g., 'will-bitcoin-reach-100k-by-2025')
market_slug: Market slug
Úmarkets©Úeventr>N)rÚget_event_by_slugrÚappendÚgetÚget_market_by_slug)rr;r<r@Úmarkets rÚ
add_marketzLiveTradingEngine.add_marketbs˜ñ Ø×
ÓCˆØ×&×$Ÿy™y¨°BÓ/õðñ
Ø×&×9¸FˆØ×&×!Ø &˜/õððrÚtag_idÚlimitcó¬|jjdd||¬«}|D]0}|jj||j dg«dœ«Œ2y)
Monitor all active markets in a tag/category.
Args:
tag_id: Tag ID to monitor
limit: Maximum number of markets
TF)ÚactiveÚclosedrGrHr>r?N)rÚ
get_eventsrrBrC)rrGrHÚeventsr@s rÚ monitor_tagzLiveTradingEngine.monitor_tagysfð×"×ØØØð 
ˆðò ˆ × "× Ø Ÿ9™9 Ó+õ
ñ rÚsignalÚ market_dataÚreturncó|jstd«|j||«S|d}|jdg«}|sy|jdk(r|dn|d}|j
|j jz} |jdk(rtd|dd |«d
d|d œS|jd k(r-||j jvrtd
|«dd |dœSyy#t$r}td|«Yd}~yd}~wwxYw)
Execute a trading order.
Args:
signal: Trading signal
market_data: Market data
Returns:
Order result dictionary
z8Warning: Trading client not available. Simulating order.rEÚ clobTokenIdsNÚBUYrzPlacing BUY order: ú.2fz USDC at token Úplaced)ÚstatusÚactionÚsizeÚSELLzClosing position: rK)rWrXÚtoken_idzError executing order: )
r1r4Ú_simulate_orderrCrXrYrÚcurrent_balanceÚ positionsr6)rrOrPrEÚ token_idsr[Úposition_size_usdcr9s rÚ
execute_orderzLiveTradingEngine.execute_orderŽs%ð× Ð ×° Ó ˜&ˆØ—JJ˜~¨rÓ2ˆ áØà#)§=¡=°EÒ#99˜Q<¸¹|ˆð$Ÿ[™[¨4¯=©=×+HÑ+HÑð Ø}‰} ÒÐ+Ð,>¸sÐ+CÀ?ÐS[ÐR\Ð^à"*°eÐEWÑ ˜tŸ}™}×Ð.¨x¨jÐ:à&.¸&ÈhÑ)øôò Ü Ð+¨A¨3Ð ûð úsÂ&C%Â(:C%Ã% DÃ.DÄDcóHd|jtj«|dœS)z$Simulate order execution for testingÚ simulated)rWrXÚ timestamprO)rXrÚnow)rrOrPs rr\z!LiveTradingEngine._simulate_order¼s$ð—m‘mÜØñ 
ð
rcó0t|jjj««D]?\}} |jj |d¬«}|jj
||«ŒAy#t$r}td|d|«Yd}~Œbd}~wwxYw)z-Update all open positions with current pricesÚbuy)ÚsidezError updating position z: N) Úlistrr^ÚitemsrÚ get_priceÚupdate_positionr6r4)rr[ÚpositionÚ
current_pricer9s rÚupdate_positionsz"LiveTradingEngine.update_positionsÅsä"& t§}¡}×'>Ñ'>×'DÑ'DÓ'FÓ"Gò BÑ ˆH
BØ $× 0Ñ 0× :Ñ :¸8È%Ð :Ó P
Ø
×-¨h¸
Õ Bøôò
BÜа
¸"¸Q¸@×Aûð
Búsµ9A1Á1 BÁ:BÂBc ó`|jD]s}|dD]g} |jdg«}|sŒ|jj|d«}|jj |d«}ddl}|j
|jdd««}|j
|jdd««}|d |t||«D
cic]\} }
| t|