Files
big-qmt/py-client/config/__pycache__/__init__.cpython-311.pyc

59 lines
7.6 KiB
Plaintext
Raw Normal View History

2026-08-28 18:52:27 +08:00
<EFBFBD>
2026-08-29 12:00:51 +08:00
y<><79>j}<00><01>0<00>UddlmZddlZddlmZmZddlmZddlZed<05><06><00>Gd<07>d<08><00><00><00>Z ed<05><06><00>Gd <09>d
2026-08-28 22:56:35 +08:00
<EFBFBD><00><00><00>Z
ed<05><06><00>Gd <0B>d <0C><00><00><00>Z da d e d<dade d<dZ ddd<18>Zdd<1C>ZdS) <20>)<01> annotationsN)<02> dataclass<73>field)<01>PathT)<01>slotsc<01>><00>eZdZUdZdZded<dZded<dZded <d
2026-08-28 18:52:27 +08:00
S) <0B> SignalConfigu6单个交易信号的数据源及开仓限制配置。<E7BDAE><00>str<74>url<72>*<2A>timezoneF<65>bool<6F>gt_last_price_is_openN)<08>__name__<5F>
2026-08-29 12:00:51 +08:00
__module__<EFBFBD> __qualname__<5F>__doc__r <00>__annotations__rr<00><00><00>2D:\work\quant\big-qmt\py-client\config\__init__.pyr r
2026-08-28 22:56:35 +08:00
sN<00><00><00><00><00><00><00>@<40>@<40><12>C<EFBFBD>M<EFBFBD>M<EFBFBD>M<EFBFBD>M<EFBFBD><18>H<EFBFBD><17><17><17><17>#(<28><19>'<27>'<27>'<27>'<27>'<27>'rr c<01><><00>eZdZUdZdZded<dZded<dZded<dZded<e e
2026-08-28 18:52:27 +08:00
<EFBFBD><08><00>Z d ed
<e e
2026-08-28 22:56:35 +08:00
<EFBFBD><08><00>Z d ed <d S)<0E> GlobalConfigu$所有主机共享的系统配置。r
2026-08-29 12:00:51 +08:00
r <00> qmt_base_url<72> qmt_token<65>api_host<73> qmt_data_dir<69><01>default_factoryzdict[str, str]<5D>hostszdict[str, SignalConfig]<5D>signalsN) rrrrrrrrrr<00>dictr!r"rrrrrs<><00><00><00><00><00><00><00>.<2E>.<2E><1A>L<EFBFBD><1A><1A><1A><1A><17>I<EFBFBD><17><17><17><17><16>H<EFBFBD><16><16><16><16><1A>L<EFBFBD><1A><1A><1A><1A>"<22>E<EFBFBD>$<24>7<>7<>7<>E<EFBFBD>7<>7<>7<>7<>(-<2D>u<EFBFBD>T<EFBFBD>'B<>'B<>'B<>G<EFBFBD>B<>B<>B<>B<>B<>Brrc<01><><00>eZdZUdZdZded<dZded<dZded<dZded <dZ ded
2026-08-28 18:52:27 +08:00
<d Z
2026-08-29 12:00:51 +08:00
ded <dZ ded <dZ ded<dZ ded<ee<0F><13><00>Zded<ee<0F><13><00>Zded<dZded<dS)<19> AccountConfigu6当前主机所使用的账户及交易策略参数。r
2026-08-28 22:56:35 +08:00
r <00>
2026-08-29 12:00:51 +08:00
account_id<EFBFBD>host_keyr<00>float<61> buy_value<75>min_cash_ratio<69>loss_trigger_pct<63><00> grid_step_pct<63>min_profit_pctFr<00>enable_loss_add_positionT<6E>enable_auto_iporz list[str]<5D> signal_allow<6F>excluded_codes<65>strategyN)rrrrr&rr'r)r*r+r-r.r/r0r<00>listr1r2r3rrrr%r%(s<00><00><00><00><00><00><00>@<40>@<40><18>J<EFBFBD><18><18><18><18><16>H<EFBFBD><16><16><16><16><18>I<EFBFBD><18><18><18><18><1D>N<EFBFBD><1D><1D><1D><1D><1F><14><1F><1F><1F><1F><1C>M<EFBFBD><1C><1C><1C><1C><1D>N<EFBFBD><1D><1D><1D><1D>%*<2A><1C>*<2A>*<2A>*<2A>*<2A> <20>O<EFBFBD> <20> <20> <20> <20>#<23>e<EFBFBD>D<EFBFBD>9<>9<>9<>L<EFBFBD>9<>9<>9<>9<> %<25><05>d<EFBFBD> ;<3B> ;<3B> ;<3B>N<EFBFBD>;<3B>;<3B>;<3B>;<3B><17>H<EFBFBD><16><16><16><16><16>rr%zGlobalConfig | None<6E> global_configzAccountConfig | None<6E>account_configg@<40>etc_dir<69>str | Path | None<6E>hostname<6D>
2026-08-28 18:52:27 +08:00
str | None<6E>return<72>"tuple[GlobalConfig, AccountConfig]c<01><><00><07><08>|<00>t|<00><00>n tt<00><00>jjdz }t|dz <00><00><00>d<04><00><08>d<05><00>pi<00><00><00>D<00><00>}<03>fd<06>dD<00><00>}|pt j<00><00><00><07><08>d<08><00>pi}t<00>fd <09>|<05><00><00>D<00><00>d
<EFBFBD><00>}|d r|d r |d dkrtd<0F><00><00>|std<10><07>d<11><03><00><00>t|<06><00>j
s|dz }tdi|<04>||d<13><02><01>a ttj <00><00><00>dd<14><15><00>tdit||z <00><00><00><01>at jdkst jdkrtd<17><00><00>t j<00><00><00>std<18><00><00>t j<00><00><00>t _t j<00><00><00>t _tt fS)u<>加载公共配置以及当前主机对应的账户配置。
Args:
etc_dir: 配置文件目录,其中必须包含 ``_global.yaml``;为空时
默认使用 py-client 下的 ``etc`` 目录。
hostname: 指定要加载的主机名;为空时使用当前计算机名。
Returns:
由全局配置和账户配置组成的二元组。
Raises:
ValueError: 配置缺失、格式错误或策略参数不合法。
2026-08-28 22:56:35 +08:00
N<>etcz _global.yamlc<01>2<00>i|]\}}|tdi|pi<00><01><01><02>S)r)r )<03>.0<EFBFBD>key<65>values r<00>
2026-08-29 12:00:51 +08:00
<dictcomp>zload.<locals>.<dictcomp>[s@<00><00><06><06><06> <16>C<EFBFBD><15> <0C>\<5C> *<2A> *<2A>U<EFBFBD>[<5B>b<EFBFBD> *<2A> *<2A><06><06>rr"c<01>><00><01>i|]}|<01><02>|d<00><00><00><02>S)r
)<01>get)r@rA<00>raws <20>rrCzload.<locals>.<dictcomp>_s9<00><><00><06><06><06> <0F> <0C>S<EFBFBD>W<EFBFBD>W<EFBFBD>S<EFBFBD>"<22> <1D> <1D><06><06>r)rrrrr!c3<01><><00>K<00>|]W\}}|<01><00><00><00><00><00><00><03><00><00><00><00><00>k<00>S|V<00><00>XdS)N)<02>strip<69>lower)r@rArB<00>currents <20>r<00> <genexpr>zload.<locals>.<genexpr>gsf<00><><00><00><00>
2026-08-28 18:52:27 +08:00
<EFBFBD>
<EFBFBD><1A><03>U<EFBFBD><12>y<EFBFBD>y<EFBFBD>{<7B>{<7B> <20> <20>"<22>"<22>g<EFBFBD>m<EFBFBD>m<EFBFBD>o<EFBFBD>o<EFBFBD>&;<3B>&;<3B>&=<3D>&=<3D>=<3D>=<3D> <12>=<3D>=<3D>=<3D>=<3D>
<EFBFBD>
2026-08-28 22:56:35 +08:00
rr
2026-08-29 12:00:51 +08:00
rrr<00>.uGlobal 配置缺少必要参数u!_global.yaml 未配置计算机 "<22>"z.yaml)r!r"T)<02>parents<74>exist_okru(buy_value、grid_step_pct 必须大于 0ustrategy 不能为空r)r<00>__file__<5F>parent<6E>_yamlrE<00>items<6D>socket<65> gethostname<6D>next<78>
ValueError<EFBFBD>suffixrr5r<00>mkdirr%r6r)r-r3rHr'rI) r7r9<00>rootr"<00>valuesr!<00> account_filerJrFs @@r<00>loadr]Ds|<00><><EFBFBD><00>&$<24>/<2F>4<EFBFBD><07>=<3D>=<3D>=<3D>T<EFBFBD>(<28>^<5E>^<5E>5J<35>5Q<35>TY<54>5Y<35>D<EFBFBD>
2026-08-28 18:52:27 +08:00
<0F><04>~<7E>%<25>
&<26>
&<26>C<EFBFBD><06><06><1E>7<EFBFBD>7<EFBFBD>9<EFBFBD>-<2D>-<2D>3<><12>:<3A>:<3A><<3C><<3C><06><06><06>G<EFBFBD><06><06><06><06>L<><06><06><06>F<EFBFBD>
<17>.<2E>&<26>,<2C>.<2E>.<2E>G<EFBFBD> <0F>G<EFBFBD>G<EFBFBD>G<EFBFBD> <1C> <1C> "<22><02>E<EFBFBD><17>
<EFBFBD>
<EFBFBD>
<EFBFBD>
<EFBFBD>#<23>k<EFBFBD>k<EFBFBD>m<EFBFBD>m<EFBFBD>
<EFBFBD>
<EFBFBD>
<EFBFBD>
2026-08-29 12:00:51 +08:00
<0B> <06><06>L<EFBFBD> <13>><3E> "<22><<3C><15>j<EFBFBD>!<21><<3C> <12>.<2E> !<21>S<EFBFBD> (<28> (<28><18>:<3A>;<3B>;<3B>;<3B> <17>I<01><18>G<>W<EFBFBD>G<>G<>G<>H<>H<>H<> <0F> <0C> <1D> <1D> $<24> <20><14><07><1F> <0C> <20>H<>H<>6<EFBFBD>H<><15><07>H<>H<>H<>H<>M<EFBFBD> <09><1D> #<23>$<24>$<24>*<2A>*<2A>4<EFBFBD>$<24>*<2A>G<>G<>G<>"<22>@<40>@<40>U<EFBFBD>4<EFBFBD>,<2C>+><3E>%?<3F>%?<3F>@<40>@<40>N<EFBFBD><15><1F>1<EFBFBD>$<24>$<24><0E>(D<><01>(I<>(I<><18>C<>D<>D<>D<> <19> "<22> (<28> (<28> *<2A> *<2A>2<><18>0<>1<>1<>1<>-<2D>5<>;<3B>;<3B>=<3D>=<3D>N<EFBFBD><1B>,<2C>5<>;<3B>;<3B>=<3D>=<3D>N<EFBFBD><1B> <18>.<2E> (<28>(r<00>pathrr#c<01><><00> |<00>d<01><02><00>5}tj|<01><00>picddd<03><00>S#1swxYwYdS#ttjf$r}t d|<00>d|<02><00><04><00>|<02>d}~wwxYw)u9读取 YAML 文件并将空文件转换为空字典。zutf-8)<01>encodingNu读取或解析配置 u 失败: )<06>open<65>yaml<6D> safe_load<61>OSError<6F> YAMLErrorrW)r^<00>handle<6C>excs rrRrR<00>s<><00><00>Q<01> <11>Y<EFBFBD>Y<EFBFBD><07>Y<EFBFBD> (<28> (<28> 0<>F<EFBFBD><17>><3E>&<26>)<29>)<29>/<2F>R<EFBFBD> 0<> 0<> 0<> 0<> 0<> 0<> 0<> 0<> 0<> 0<> 0<> 0<><30><EFBFBD><EFBFBD> 0<> 0<> 0<> 0<> 0<> 0<><30> <13>T<EFBFBD>^<5E> $<24>Q<01>Q<01>Q<01><18>F<>$<24>F<>F<><13>F<>F<>G<>G<>S<EFBFBD>P<><50><EFBFBD><EFBFBD><EFBFBD>Q<01><><EFBFBD>s4<00>A<00>;<03> A<00>?<07>A<00>?<07>A<00>A9<03>A4<03>4A9)NN)r7r8r9r:r;r<)r^rr;r#)<12>
__future__rrT<00> dataclassesrr<00>pathlibrrbr rr%r5rr6<00> HTTP_TIMEOUTr]rRrrr<00><module>rls<><00><01>"<22>"<22>"<22>"<22>"<22>"<22>"<22> <0A> <0A> <0A> <0A>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28><18><18><18><18><18><18> <0B> <0B> <0B> <0B> <0B><19><14><16><16><16>
2026-08-28 18:52:27 +08:00
(<28>
(<28>
(<28>
(<28>
(<28>
(<28>
2026-08-28 22:56:35 +08:00
(<28><17><16>
2026-08-29 12:00:51 +08:00
(<28> <0B><19><14><16><16><16> C<01> C<01> C<01> C<01> C<01> C<01> C<01><17><16> C<01> <0B><19><14><16><16><16><17><17><17><17><17><17><17><17><16><17>(&*<2A> <0A>)<29>)<29>)<29>)<29>'+<2B><0E>+<2B>+<2B>+<2B>+<2B><13> <0C>"&<26><1F>F)<29>F)<29>F)<29>F)<29>F)<29>RQ<01>Q<01>Q<01>Q<01>Q<01>Qr