Files
big-qmt/py-client/sdk/__pycache__/models.cpython-311.pyc

204 lines
17 KiB
Plaintext
Raw Normal View History

2026-08-28 18:52:27 +08:00
<EFBFBD>
2026-09-05 00:23:55 +08:00
6<><36>j<EFBFBD><00><01>6<00>ddlmZddlmZddlmZmZddlmZefd*d
2026-08-30 14:46:34 +08:00
<EFBFBD>Z ed <0B> <0C><00>Gd <0A>d<0E><00><00><00>Z
2026-09-03 11:33:43 +08:00
ed <0B> <0C><00>Gd<0F>d<10><00><00><00>Z ed <0B> <0C><00>Gd<11>d<12><00><00><00>Z ed <0B> <0C><00>Gd<13>d<14><00><00><00>Z d+d<18>Zed <0B> <0C><00>Gd<19>d<1A><00><00><00>Zed <0B> <0C><00>Gd<1B>d<1C><00><00><00>Zed <0B> <0C><00>Gd<1D>d<1E><00><00><00>Zed <0B> <0C><00>Gd<1F>d <20><00><00><00>Zed <0B> <0C><00>Gd!<21>d"<22><00><00><00>Zed <0B> <0C><00>Gd#<23>d$<24><00><00><00>Zed <0B> <0C><00>Gd%<25>d&<26><00><00><00>Zed <0B> <0C><00>Gd'<27>d(<28><00><00><00>Zd)S),<2C>)<01> annotations)<01>datetime)<02> dataclass<73>field)<01>Any<6E>valuer<00>kind<6E>type<70>returnc<01>`<00> ||pd<01><00>S#ttf$r |<01><00>cYSwxYw)Nr)<02> TypeError<6F>
2026-08-30 14:46:34 +08:00
ValueError)rr s <20>-D:\work\quant\big-qmt\py-client\sdk\models.py<70>_numberrsJ<00><00><16><13>t<EFBFBD>E<EFBFBD>J<EFBFBD>Q<EFBFBD><1F><1F><1F><> <15>z<EFBFBD> "<22><16><16><16><13>t<EFBFBD>v<EFBFBD>v<EFBFBD> <0A> <0A> <0A><16><><EFBFBD>s <00> <00>-<03>-T)<01>slotsc<01><><00>eZdZUdZded<ded<ded<ded<ded<ded <d
ed <d Zded <dZd
ed<dZd
ed<d Zded<d Z ded<dZ
ded<dZ ded<dZ ded<e dd<1C><04><00>ZdS)<1F> OrderItemu8由 QMT 委托明细解析得到的标准订单记录。<E5BD95>str<74>id<69>code<64>side<64>remark<72>status<75>datetime | None<6E>
created_at<EFBFBD>int<6E>volume<6D><00>local_order_idr<00> traded_volume<6D>remaining_volume<6D> exchange_id<69>name<6D><00>float<61>price<63> trade_price<63> trade_amount<6E>data<74>dict[str, Any]r <00> 'OrderItem'c<01>"<00>t|<01>d<01><00>pd<02><00>}t|<01>d<03><00>pd<02><00>}|r |r|<02>d|<03><00>n|}t|<01>d<05><00>t<00><00>}t|<01>d<06><00>t<00><00>}t|<01>d<07><00>pd<02><00>}|t|<01>d<08><00>pd<02><00>|d d
d d
d <0B><04>t|<01>d <0C><00><00><00>d<02><00>|t|<01>d <0A><00>pd<02><00>t |<01><00>||z|r|<07>dd<0F><00>dnd|||t|<01>d<11><00>pd<02><00>t|<01>d<12><00><00><00>t|<01>d<13><00><00><00>t|<01>d<14><00><00><00><00><15><00>S)u7从 TradeDetailData 的 QMT 原始字段创建订单。<E58D95>m_strInstrumentIDr<00>m_strExchangeID<49>.<2E>m_nVolumeTotal<61>m_nVolumeTraded<65> m_strRemark<72>m_strOrderSysID<49>BUY<55>SELL)<04>23<32>24<32>48<34>49<34> m_nOffsetFlag<61>m_nOrderStatus<75>|<7C>r<00>m_strInstrumentName<6D>m_dPrice<63> m_dTradePrice<63>m_dTradeAmount)rrrrrrrrr r!r"r#r&r'r()r<00>getrr<00>_trade_datetime<6D>split)<08>clsr)<00> instrument_idr"rr!r rs r<00>from_trade_detailzOrderItem.from_trade_detail!s<><00><00><1C>D<EFBFBD>H<EFBFBD>H<EFBFBD>%8<>9<>9<>?<3F>R<EFBFBD>@<40>@<40> <0A><19>$<24>(<28>(<28>#4<>5<>5<>;<3B><12><<3C><<3C> <0B><1D> <1F>!,<2C> <1F>}<7D> ,<2C> ,<2C>{<7B> ,<2C> ,<2C> ,<2C><1E> <0A>
#<23>4<EFBFBD>8<EFBFBD>8<EFBFBD>,<<3C>#=<3D>#=<3D>s<EFBFBD>C<>C<><18><1F><04><08><08>):<3A> ;<3B> ;<3B>S<EFBFBD>A<>A<> <0A><14>T<EFBFBD>X<EFBFBD>X<EFBFBD>m<EFBFBD>,<2C>,<2C>2<><02>3<>3<><06><12>s<EFBFBD><12>4<EFBFBD>8<EFBFBD>8<EFBFBD>-<2D>.<2E>.<2E>4<>"<22>5<>5<><15><1D>V<EFBFBD>5<EFBFBD><06>G<>G<>K<>K<><13>D<EFBFBD>H<EFBFBD>H<EFBFBD>_<EFBFBD>-<2D>-<2D>.<2E>.<2E><02><0E><0E><1A><16>t<EFBFBD>x<EFBFBD>x<EFBFBD> 0<>1<>1<>7<>R<EFBFBD>8<>8<>&<26>t<EFBFBD>,<2C>,<2C>#<23>m<EFBFBD>3<>6<<3C>D<>6<EFBFBD><<3C><<3C><03>Q<EFBFBD>/<2F>/<2F><01>2<>2<>"<22>'<27>-<2D>#<23><14>T<EFBFBD>X<EFBFBD>X<EFBFBD>3<>4<>4<>:<3A><02>;<3B>;<3B><19>$<24>(<28>(<28>:<3A>.<2E>.<2E>/<2F>/<2F><1F><04><08><08><1F> 9<> 9<>:<3A>:<3A> <20><14><18><18>*:<3A>!;<3B>!;<3B><<3C><<3C>#
<EFBFBD>
<EFBFBD>
<EFBFBD>
<EFBFBD>N)r)r*r r+)<0F>__name__<5F>
__module__<EFBFBD> __qualname__<5F>__doc__<5F>__annotations__rr r!r"r#r&r'r(<00> classmethodrG<00>rHrrrs<00><00><00><00><00><00><00>B<>B<> <0B>G<EFBFBD>G<EFBFBD>G<EFBFBD> <0A>I<EFBFBD>I<EFBFBD>I<EFBFBD> <0A>I<EFBFBD>I<EFBFBD>I<EFBFBD><0F>K<EFBFBD>K<EFBFBD>K<EFBFBD><0F>K<EFBFBD>K<EFBFBD>K<EFBFBD><1F><1F><1F><1F><0F>K<EFBFBD>K<EFBFBD>K<EFBFBD><1C>N<EFBFBD><1C><1C><1C><1C><1A>M<EFBFBD><1A><1A><1A><1A><1D><14><1D><1D><1D><1D><19>K<EFBFBD><19><19><19><19><12>D<EFBFBD>N<EFBFBD>N<EFBFBD>N<EFBFBD>N<EFBFBD><16>E<EFBFBD><16><16><16><16><1C>K<EFBFBD><1C><1C><1C><1C><1D>L<EFBFBD><1D><1D><1D><1D><10>
<EFBFBD>
<EFBFBD>
<EFBFBD><11>[<5B>
<EFBFBD>
<EFBFBD>
2026-09-05 00:23:55 +08:00
rHrc<01>0<00>eZdZUdZded<dZded<dZded<dZded<d Zd
ed <d Z d ed<d Z
d ed<d Z d ed<dZ ded<d Z d
ed<d Zd
ed<d Zd
ed<d Zd
ed<d Zd ed<d Zd ed<dZded<dZded<ed!d"d<1F><05><00>Zed#d <20><04><00>ZdS)$<24> PositionItemrr<00>
2026-08-28 18:52:27 +08:00
stock_code<EFBFBD>
2026-09-05 00:23:55 +08:00
stock_name<EFBFBD>trade_idNr<00> directionrrrr$r%<00>
2026-08-28 18:52:27 +08:00
open_price<EFBFBD> float_profit<69> market_value<75> stock_holder<65> frozen_volume<6D>can_use_volume<6D>on_road_volume<6D>yesterday_volume<6D>
2026-08-30 14:46:34 +08:00
last_price<EFBFBD> profit_rate<74>future_trade_type<70> expire_dater)r*rr <00>'PositionItem'c
2026-09-05 00:23:55 +08:00
<01><><00>|d$idt|<01>d<02><00>p|<02><00><00>dt|<01>d<04><00>pd<05><00><00>dt|<01>d<07><00>pd<05><00><00>d|<01>d <09><00><00>d
t|<01>d <0B><00>t<00><00><00>d t|<01>d <0A><00><00><00><00>dt|<01>d<0F><00><00><00><00>dt|<01>d<11><00><00><00><00>dt|<01>d<13><00>pd<05><00><00>dt|<01>d<15><00>t<00><00><00>dt|<01>d<17><00>t<00><00><00>dt|<01>d<19><00>t<00><00><00>dt|<01>d<1B><00>t<00><00><00>dt|<01>d<1D><00><00><00><00>dt|<01>d<1F><00><00><00><00>d |<01>d!<21><00><00>d"t|<01>d#<23><00>pd<05><00><00><01>S)%NrR<00> StockCoderS<00> StockNamerrT<00>TradeIDrU<00> Directionr<00>VolumerV<00> OpenPricerW<00> FloatProfitrX<00> MarketValuerY<00> StockHolderrZ<00> FrozenVolumer[<00> CanUseVolumer\<00> OnRoadVolumer]<00>YesterdayVolumer^<00> LastPricer_<00>
ProfitRater`<00>FutureTradeTypera<00>
ExpireDaterO<00>rrBrr)rEr)rs r<00> from_dictzPositionItem.from_dictWsy<00><00><12>s<EFBFBD>

<EFBFBD>

<EFBFBD>

<EFBFBD><1A>4<EFBFBD>8<EFBFBD>8<EFBFBD>K<EFBFBD>0<>0<>8<>D<EFBFBD>9<>9<>9<>

<EFBFBD>FI<EFBFBD>$<24>(<28>(<28>S^<5E>J_<4A>J_<4A>Je<4A>ce<63>Ff<46>Ff<46>Ff<46>

<EFBFBD><18><14><18><18>)<29>,<2C>,<2C>2<><02>3<>3<>3<>

<EFBFBD><1B>h<EFBFBD>h<EFBFBD>{<7B>+<2B>+<2B>+<2B>

<EFBFBD>5<<3C>D<EFBFBD>H<EFBFBD>H<EFBFBD>X<EFBFBD><N<><N<>PS<50>4T<34>4T<34>4T<34>

<EFBFBD><1F>t<EFBFBD>x<EFBFBD>x<EFBFBD> <0B>4<>4<>5<>5<>5<>

<EFBFBD>EL<01>D<EFBFBD>H<EFBFBD>H<EFBFBD>Ub<55>Lc<4C>Lc<4C>Dd<44>Dd<44>Dd<44>

2026-08-28 18:52:27 +08:00
<EFBFBD>
2026-09-05 00:23:55 +08:00
!<21><14><18><18>-<2D>!8<>!8<>9<>9<>9<>

2026-08-28 18:52:27 +08:00
<EFBFBD>
2026-09-05 00:23:55 +08:00
IL<01>D<EFBFBD>H<EFBFBD>H<EFBFBD>Ub<55>Lc<4C>Lc<4C>Li<4C>gi<67>Hj<48>Hj<48>Hj<48>

<EFBFBD> "<22>$<24>(<28>(<28>><3E>":<3A>":<3A>C<EFBFBD>@<40>@<40>@<40>

<EFBFBD> RY<01>Y]<5D>Ya<59>Ya<59>bp<62>Yq<59>Yq<59>sv<73>Qw<51>Qw<51>Qw<51>

<EFBFBD>#<23>4<EFBFBD>8<EFBFBD>8<EFBFBD>N<EFBFBD>#;<3B>#;<3B>S<EFBFBD>A<>A<>A<>

<EFBFBD>U\<01>\`<60>\d<>\d<>ev<65>\w<>\w<>y|<7C>T}<7D>T}<7D>T}<7D>

<EFBFBD><1F>t<EFBFBD>x<EFBFBD>x<EFBFBD> <0B>4<>4<>5<>5<>5<>

<EFBFBD>DK<01>4<EFBFBD>8<EFBFBD>8<EFBFBD>T`<60>Ka<4B>Ka<4B>Cb<43>Cb<43>Cb<43>

<EFBFBD>#<23>h<EFBFBD>h<EFBFBD>'8<>9<>9<>9<>

<EFBFBD>HK<01>4<EFBFBD>8<EFBFBD>8<EFBFBD>T`<60>Ka<4B>Ka<4B>Kg<4B>eg<65>Gh<47>Gh<47>Gh<47>

<EFBFBD>
2026-08-30 14:46:34 +08:00
rHc
2026-09-05 00:23:55 +08:00
<01><><00>|d$idt|<01>d<02><00>pd<03><00><00>dt|<01>d<05><00>pd<03><00><00>dt|<01>d<07><00>pd<03><00><00>d|<01>d <09><00><00>d
t|<01>d <0B><00>t<00><00><00>d t|<01>d <0A><00><00><00><00>dt|<01>d<0F><00><00><00><00>dt|<01>d<11><00><00><00><00>dt|<01>d<13><00>pd<03><00><00>dt|<01>d<15><00>t<00><00><00>dt|<01>d<17><00>t<00><00><00>dt|<01>d<19><00>t<00><00><00>dt|<01>d<1B><00>t<00><00><00>dt|<01>d<1D><00><00><00><00>dt|<01>d<1F><00><00><00><00>d |<01>d!<21><00><00>d"t|<01>d#<23><00>pd<03><00><00><01>S)%u?从 TradeDetailData/Holding 的 QMT 原始字段创建持仓。rRrdrrSrerTrfrUrgrrhrVrirWrjrXrkrYrlrZrmr[rnr\ror]rpr^rqr_rrr`rsrartrOru<00>rEr)s rrGzPositionItem.from_trade_detailes_<00><00><13>s<EFBFBD>
<EFBFBD>
<EFBFBD>
<EFBFBD><1A>4<EFBFBD>8<EFBFBD>8<EFBFBD>K<EFBFBD>0<>0<>6<>B<EFBFBD>7<>7<>7<>
<EFBFBD><1A>4<EFBFBD>8<EFBFBD>8<EFBFBD>K<EFBFBD>0<>0<>6<>B<EFBFBD>7<>7<>7<>
<EFBFBD><19><14><18><18>)<29>,<2C>,<2C>2<><02>3<>3<>3<>
<EFBFBD><1B>h<EFBFBD>h<EFBFBD>{<7B>+<2B>+<2B>+<2B> 
2026-08-30 14:46:34 +08:00
<EFBFBD>
2026-09-05 00:23:55 +08:00
<1B>4<EFBFBD>8<EFBFBD>8<EFBFBD>H<EFBFBD>-<2D>-<2D>s<EFBFBD>3<>3<>3<> 
<EFBFBD> <1F>t<EFBFBD>x<EFBFBD>x<EFBFBD> <0B>4<>4<>5<>5<>5<> 
<EFBFBD>!<21><14><18><18>-<2D>!8<>!8<>9<>9<>9<>
<EFBFBD>!<21><14><18><18>-<2D>!8<>!8<>9<>9<>9<>
<EFBFBD><1D>T<EFBFBD>X<EFBFBD>X<EFBFBD>m<EFBFBD>4<>4<>:<3A><02>;<3B>;<3B>;<3B>
<EFBFBD>"<22>$<24>(<28>(<28>><3E>":<3A>":<3A>C<EFBFBD>@<40>@<40>@<40>
<EFBFBD>#<23>4<EFBFBD>8<EFBFBD>8<EFBFBD>N<EFBFBD>#;<3B>#;<3B>S<EFBFBD>A<>A<>A<>
<EFBFBD>#<23>4<EFBFBD>8<EFBFBD>8<EFBFBD>N<EFBFBD>#;<3B>#;<3B>S<EFBFBD>A<>A<>A<>
<EFBFBD>%<25>T<EFBFBD>X<EFBFBD>X<EFBFBD>.?<3F>%@<40>%@<40>#<23>F<>F<>F<>
<EFBFBD><1F>t<EFBFBD>x<EFBFBD>x<EFBFBD> <0B>4<>4<>5<>5<>5<>
<EFBFBD> <20><04><08><08><1C> 6<> 6<>7<>7<>7<>
<EFBFBD> #<23>h<EFBFBD>h<EFBFBD>'8<>9<>9<>9<>!
<EFBFBD>"<1C>D<EFBFBD>H<EFBFBD>H<EFBFBD>\<5C>2<>2<>8<>b<EFBFBD>9<>9<>9<>#
<EFBFBD>
rH)r)r)r*rrr rb)r)r*r rb)rIrJrKrRrMrSrTrUrrVrWrXrYrZr[r\r]r^r_r`rarNrvrGrOrHrrQrQCsx<00><00><00><00><00><00><00><18>J<EFBFBD><18><18><18><18><18>J<EFBFBD><18><18><18><18><15>H<EFBFBD><15><15><15><15><19>I<EFBFBD><19><19><19><19><13>F<EFBFBD>O<EFBFBD>O<EFBFBD>O<EFBFBD>O<EFBFBD><1B>J<EFBFBD><1B><1B><1B><1B><1D>L<EFBFBD><1D><1D><1D><1D><1D>L<EFBFBD><1D><1D><1D><1D><1A>L<EFBFBD><1A><1A><1A><1A><1A>M<EFBFBD><1A><1A><1A><1A><1B>N<EFBFBD><1B><1B><1B><1B><1B>N<EFBFBD><1B><1B><1B><1B><1D><14><1D><1D><1D><1D><1B>J<EFBFBD><1B><1B><1B><1B><1C>K<EFBFBD><1C><1C><1C><1C>!<21><15>!<21>!<21>!<21>!<21><19>K<EFBFBD><19><19><19><19><10> 
<EFBFBD> 
<EFBFBD> 
<EFBFBD> 
<EFBFBD><11>[<5B> 
<EFBFBD><11>
<EFBFBD>
<EFBFBD>
<EFBFBD><11>[<5B>
<EFBFBD>
<EFBFBD>
2026-08-30 14:46:34 +08:00
rHrQc<01>D<00>eZdZUdZded<dZded<ed d <09><04><00>Zd
S) <0C>Assetsr$r%<00>total<61> availabler)r*r <00>'Assets'c <01><><00>|t|<01>d|<01>d<02><00><00><00><00><00>t|<01>d|<01>d<04><00><00><00><00><00><00><05><00>S)u;兼容新版 QMT 原始资金字段及旧版简化字段。<E6AEB5>
2026-09-05 00:23:55 +08:00
m_dBalancer{<00> m_dAvailabler|)r{r|)rrBrxs rrvzAssets.from_dict<63>sg<00><00><13>s<EFBFBD><19>$<24>(<28>(<28><<3C><14><18><18>'<27>1B<31>1B<31>C<>C<>D<>D<><1D>d<EFBFBD>h<EFBFBD>h<EFBFBD>~<7E>t<EFBFBD>x<EFBFBD>x<EFBFBD> <0B>7L<37>7L<37>M<>M<>N<>N<>
2026-08-30 14:46:34 +08:00
<EFBFBD>
<EFBFBD>
<EFBFBD>
2026-09-05 00:23:55 +08:00
rHN)r)r*r r})rIrJrKr{rMr|rNrvrOrHrrzrz}sV<00><00><00><00><00><00><00><16>E<EFBFBD><16><16><16><16><1A>I<EFBFBD><1A><1A><1A><1A><10>
2026-08-30 14:46:34 +08:00
<EFBFBD>
<EFBFBD>
<EFBFBD><11>[<5B>
<EFBFBD>
<EFBFBD>
2026-09-05 00:23:55 +08:00
rHrzc<01>.<00>eZdZUded<ded<ded<dS)<08> Portfoliorz<00>assetszdict[str, PositionItem]<5D> positionszlist[OrderItem]<5D>ordersN<73>rIrJrKrMrOrHrr<>r<><00>s3<00><00><00><00><00><00><00><12>N<EFBFBD>N<EFBFBD>N<EFBFBD>&<26>&<26>&<26>&<26><1B><1B><1B><1B><1B>rHr<>r)r*rc<01>4<00>t|<00>d<01><00>pd<02><00>}t|<00>d<03><00>pd<02><00><00>dd<02><00><00>d<05><00>} t j||zd<06><00>S#t $rYdSwxYw)N<>m_strInsertDater<00>m_strInsertTime<6D>:<3A>z %Y%m%d%H%M%S)rrB<00>replace<63>zfillr<00>strptimer)r)<00>date<74>clocks rrCrC<00>s<><00><00> <0E>t<EFBFBD>x<EFBFBD>x<EFBFBD>)<29>*<2A>*<2A>0<>b<EFBFBD> 1<> 1<>D<EFBFBD> <0F><04><08><08>*<2A>+<2B>+<2B>1<>r<EFBFBD> 2<> 2<> :<3A> :<3A>3<EFBFBD><02> C<> C<> I<> I<>!<21> L<> L<>E<EFBFBD><14><17> <20><14><05><1C>~<7E>><3E>><3E>><3E><> <15><14><14><14><13>t<EFBFBD>t<EFBFBD><14><><EFBFBD>s<00>1B <00>
2026-09-03 11:33:43 +08:00
B<03>Bc<01>f<00>eZdZUdZded<dZded<ee<07><05><00>Zded<e dd <0C><04><00>Z
2026-09-05 00:23:55 +08:00
d S)<0F>Tickr$r%r^<00>
2026-09-03 11:33:43 +08:00
last_close<EFBFBD><01>default_factoryr*<00>rawr)rr <00>'Tick'c<01>|<00>t|t<00><00>s
2026-09-05 00:23:55 +08:00
|<00><00>S|t|<01>d|<01>d|<01>d<03><00><00><00><00><00><00><00>t|<01>d|<01>d|<01>d<06><00><00><00><00><00><00><00>|<01><07><00>S)N<> lastPricer^rq<00> lastCloser<65><00> LastClose)r^r<>r<>)<04>
isinstance<EFBFBD>dictrrBrxs rrvzTick.from_dict<63>s<><00><00><19>$<24><04>%<25>%<25> <19><16>3<EFBFBD>5<EFBFBD>5<EFBFBD>L<EFBFBD><12>s<EFBFBD><1E>t<EFBFBD>x<EFBFBD>x<EFBFBD> <0B>T<EFBFBD>X<EFBFBD>X<EFBFBD>l<EFBFBD>D<EFBFBD>H<EFBFBD>H<EFBFBD>U`<60>La<4C>La<4C>5b<35>5b<35>c<>c<>d<>d<><1E>t<EFBFBD>x<EFBFBD>x<EFBFBD> <0B>T<EFBFBD>X<EFBFBD>X<EFBFBD>l<EFBFBD>D<EFBFBD>H<EFBFBD>H<EFBFBD>U`<60>La<4C>La<4C>5b<35>5b<35>c<>c<>d<>d<><14>
2026-09-03 11:33:43 +08:00
<EFBFBD>
<EFBFBD>
<EFBFBD>
2026-09-05 00:23:55 +08:00
rHN)r)rr r<>) rIrJrKr^rMr<>rr<>r<>rNrvrOrHrr<>r<><00>st<00><00><00><00><00><00><00><1B>J<EFBFBD><1B><1B><1B><1B><1B>J<EFBFBD><1B><1B><1B><1B><1F>%<25><04>5<>5<>5<>C<EFBFBD>5<>5<>5<>5<><10>
2026-09-03 11:33:43 +08:00
<EFBFBD>
<EFBFBD>
<EFBFBD><11>[<5B>
<EFBFBD>
<EFBFBD>
2026-09-05 00:23:55 +08:00
rHr<>c<01>V<00>eZdZUdZded<dZded<dZded<dZded <d
2026-08-28 18:52:27 +08:00
Zd ed <d S)<0E>HistoryDataRequest<73>
2026-09-05 00:23:55 +08:00
r<00>lengthrr<00>periodrr<00> dividend_typeT<65>bool<6F> skip_pausedN) rIrJrKr<>rMr<>rr<>r<>rOrHrr<>r<><00>sc<00><00><00><00><00><00><00><14>F<EFBFBD><14><14><14><14><14>F<EFBFBD><14><14><14><14><13>E<EFBFBD>O<EFBFBD>O<EFBFBD>O<EFBFBD>O<EFBFBD><1A>M<EFBFBD><1A><1A><1A><1A><1C>K<EFBFBD><1C><1C><1C><1C><1C>rHr<>c<01><><00>eZdZUee<04><01><00>Zded<ee<04><01><00>Zded<dZded<dZ ded<dZ
2026-08-28 18:52:27 +08:00
ded <dZ ded
2026-09-05 00:23:55 +08:00
<d Z d ed <dS)<0F>MarketDataRequestr<74><00> list[str]<5D>fields<64>stocksrr<00>
start_time<EFBFBD>end_timer<65>r<>rr<00>countN) rIrJrKr<00>listr<74>rMr<>r<>r<>r<>r<>r<>rOrHrr<>r<><00>s<><00><00><00><00><00><00><00><1D><05>d<EFBFBD>3<>3<>3<>F<EFBFBD>3<>3<>3<>3<><1D><05>d<EFBFBD>3<>3<>3<>F<EFBFBD>3<>3<>3<>3<><18>J<EFBFBD><18><18><18><18><16>H<EFBFBD><16><16><16><16><14>F<EFBFBD><14><14><14><14><1B>M<EFBFBD><1B><1B><1B><1B><12>E<EFBFBD>N<EFBFBD>N<EFBFBD>N<EFBFBD>N<EFBFBD>N<EFBFBD>NrHr<>c<01><><00>eZdZUdZded<dZded<dZded<dZded<dZded<dZ d ed
2026-08-28 18:52:27 +08:00
<e
e <0B> <0B><00>Z d ed <e
2026-09-05 00:23:55 +08:00
e <0B> <0B><00>Z d ed<dZded<dZded<dS)<12>FinancialDataRequestrr<00>tabname<6D>colname<6D>marketr<00> report_typerr<00>barposr<73>r<><00>
2026-08-28 18:52:27 +08:00
field_list<EFBFBD>
stock_list<EFBFBD>
2026-09-05 00:23:55 +08:00
start_date<EFBFBD>end_dateN)rIrJrKr<>rMr<>r<>rr<>r<>rr<>r<>r<>r<>r<>rOrHrr<>r<><00>s<><00><00><00><00><00><00><00><15>G<EFBFBD><15><15><15><15>b<EFBFBD>w<EFBFBD>(<28>(<28>(<28>(<28><02>&<26>*:<3A>*:<3A>*:<3A>*:<3A><02>D<EFBFBD>N<EFBFBD>N<EFBFBD>N<EFBFBD>N<EFBFBD><19>K<EFBFBD><19><19><19><19><11>6<EFBFBD>?<3F>?<3F>?<3F>?<3F>!<21>E<EFBFBD>$<24>7<>7<>7<>J<EFBFBD>7<>7<>7<>7<>QV<51>QV<51>gk<67>Ql<51>Ql<51>Ql<51><1A>9l<39>9l<39>9l<39>9l<39><18>J<EFBFBD><18><18><18><18>"<22>(<28>,<2C>,<2C>,<2C>,<2C>,<2C>,rHr<>c<01>~<00>eZdZUee<04><01><00>Zded<ee<04><01><00>Zded<dZded<dZ ded<dZ
2026-08-28 18:52:27 +08:00
ded <d
2026-09-05 00:23:55 +08:00
S) <0B>FactorDataRequestr<74>r<>r<>r<>rrrRr<>r<>N) rIrJrKrr<>r<>rMr<>rRr<>r<>rOrHrr<>r<><00>s<><00><00><00><00><00><00><00>!<21>E<EFBFBD>$<24>7<>7<>7<>J<EFBFBD>7<>7<>7<>7<>QV<51>QV<51>gk<67>Ql<51>Ql<51>Ql<51><1A>9l<39>9l<39>9l<39>9l<39><18>J<EFBFBD><18><18><18><18>B<EFBFBD>*<2A>.<2E>.<2E>.<2E>.<2E><02><08>0B<30>0B<30>0B<30>0B<30>0B<30>0BrHr<>c<01>V<00>eZdZUded<ded<ded<ded<ded<d ed
<ded <d S) <0A>BSMPriceRequestr<00> option_typer<00> object_pricesr%<00> strike_price<63> risk_free<65>sigmar<00>days<79>dividendNr<4E>rOrHrr<>r<><00>sf<00><00><00><00><00><00><00><14><14><14><14>(<28>(<28>(<28>(<28>*=<3D>*=<3D>*=<3D>*=<3D>?O<>?O<>?O<>?O<>Q]<5D>Q]<5D>Q]<5D>Q]<5D>_h<5F>_h<5F>_h<5F>_h<5F>jy<6A>jy<6A>jy<6A>jy<6A>jy<6A>jyrHr<>c<01>V<00>eZdZUded<ded<ded<ded<ded<ded <ded
<d S) <0C> BSMIVRequestrr<>r%r<>r<><00> option_pricer<65>rr<>r<>Nr<4E>rOrHrr<>r<><00>s~<00><00><00><00><00><00><00><14><14><14><14>*<2A>*<2A>*<2A>*<2A>,?<3F>,?<3F>,?<3F>,?<3F>AT<41>AT<41>AT<41>AT<41>Vf<56>Vf<56>Vf<56>Vf<56>hq<68>hq<68>hq<68>hq<68>tC<02>tC<02>tC<02>tC<02>tC<02>tCrHr<>c<01>`<00>eZdZUded<dZded<dZded<dZded<dZded<dZd ed
<d S) <0C>LocalDataRequestrrRrr<>r<>r<><00>
divid_typerrr<>N) rIrJrKrMr<>r<>r<>r<>r<>rOrHrr<>r<><00>so<00><00><00><00><00><00><00><13>O<EFBFBD>O<EFBFBD>O<EFBFBD>r<EFBFBD>Z<EFBFBD>)<29>)<29>)<29>)<29>2<EFBFBD>8<EFBFBD>+=<3D>+=<3D>+=<3D>+=<3D>R<EFBFBD>v<EFBFBD>?O<>?O<>?O<>?O<>ce<63>Q[<5B>Qe<51>Qe<51>Qe<51>Qe<51>tu<74>gl<67>gu<67>gu<67>gu<67>gu<67>gu<67>gurHr<>N)rrr r
2026-09-03 11:33:43 +08:00
r r)r)r*r r)<17>
2026-09-05 00:23:55 +08:00
__future__rr<00> dataclassesrr<00>typingrr%rrrQrzr<>rCr<>r<>r<>r<>r<>r<>r<>r<>rOrHr<00><module>r<>s<><00><01>"<22>"<22>"<22>"<22>"<22>"<22><1D><1D><1D><1D><1D><1D>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28><16><16><16><16><16><16>&+<2B><16><16><16><16><16> <0B><19><14><16><16><16>1
2026-08-30 14:46:34 +08:00
<EFBFBD>1
<EFBFBD>1
<EFBFBD>1
<EFBFBD>1
<EFBFBD>1
<EFBFBD>1
<EFBFBD><17><16>1
2026-09-05 00:23:55 +08:00
<EFBFBD>h <0B><19><14><16><16><16>6
<EFBFBD>6
<EFBFBD>6
<EFBFBD>6
<EFBFBD>6
<EFBFBD>6
<EFBFBD>6
<EFBFBD><17><16>6
<EFBFBD>r <0B><19><14><16><16><16>
2026-08-30 14:46:34 +08:00

<EFBFBD>

<EFBFBD>

<EFBFBD>

<EFBFBD>

<EFBFBD>

<EFBFBD>

<EFBFBD><17><16>

2026-09-03 11:33:43 +08:00
<EFBFBD> <0B><19><14><16><16><16><1C><1C><1C><1C><1C><1C><1C><17><16><1C> <14><14><14><14> <0B><19><14><16><16><16> 
<EFBFBD> 
<EFBFBD> 
<EFBFBD> 
<EFBFBD> 
<EFBFBD> 
<EFBFBD> 
<EFBFBD><17><16> 
<EFBFBD>  <0B><19><14><16><16><16><1D><1D><1D><1D><1D><1D><1D><17><16><1D> <0B><19><14><16><16><16><13><13><13><13><13><13><13><17><16><13> <0B><19><14><16><16><16>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D><17><16>-<2D> <0B><19><14><16><16><16>C<01>C<01>C<01>C<01>C<01>C<01>C<01><17><16>C<01>
2026-08-30 14:46:34 +08:00
 <0B><19><14><16><16><16>z<01>z<01>z<01>z<01>z<01>z<01>z<01><17><16>z<01> <0B><19><14><16><16><16>C<02>C<02>C<02>C<02>C<02>C<02>C<02><17><16>C<02> <0B><19><14><16><16><16>v<01>v<01>v<01>v<01>v<01>v<01>v<01><17><16>v<01>v<01>vrH