Files
trading-daemon/src/exchanges/__pycache__/gettex.cpython-313.pyc

124 lines
14 KiB
Plaintext
Raw Normal View History

2026-01-27 10:14:27 +01:00
<EFBFBD>
d<>xid1<00><00><><00>SSKrSSKrSSKrSSKrSSKJrJrJr SSKJrJ r SSK
J r J r SSK Jr SSS S
S .rS rS r"SS\ 5rg)<10>N)<03>datetime<6D> timedelta<74>timezone)<02>List<73>Optional<61>)<02> BaseExchange<67>Trade)<01> BeautifulSoupzuMozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36z?text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8zde-DE,de;q=0.9,en;q=0.8<EFBFBD>https://www.gettex.de/)z
User-Agent<6E>AcceptzAccept-Language<67>Refererz9https://www.gettex.de/handel/delayed-data/posttrade-data/<2F>/https://www.gettex.de/fileadmin/posttrade-data/c<00><><00>\rSrSrSr\S\4Sj5rS\\ 4Sjr
S\ RS\\4Sjr S\S\\4S jrS
\ S\\4S jrSS \S\ S\\4SjjrS\S\S\\4SjrSrg )<14>GettexExchange<67>u
gettex Exchange (Bayerische Börse)
Kombiniert MUNC und MUND Daten.
Dateiformat: posttrade.YYYYMMDD.HH.mm.{munc|mund}.csv.gz
<EFBFBD>returnc<00><00>g)N<>GETTEX<45>)<01>selfs <20>src/exchanges/gettex.py<70>name<6D>GettexExchange.name!s<00><00><17>c<00><><00>/n[R"[[SS9nUR 5 [ UR S5nURS5GHFnURSS5nURSS9nU(a<>S UR5;avS
UR5;abURS 5(d!URS 5(aS U3OSU3nOUnURS 5SnURX<>S.5 M<>U(dM<>S UR5;dM<>S
UR5;dM<>UnU(a:URS 5(d!URS 5(aS U3OSU3nOUnOSU3nURX<>S.5 GMI [S[U5S35 U$![an [SU 35 Sn A U$Sn A ff=f)un
Parst die gettex Seite und extrahiert Download-Links.
Gibt Liste von dicts mit 'filename' und 'url' zurück.
<EFBFBD><00><02>headers<72>timeoutz html.parser<65>a<>href<65>T)<01>strip<69> posttradez.csv.gz<67>http<74>/zhttps://www.gettex.der <00><><EFBFBD><EFBFBD><EFBFBD>)<02>filename<6D>urlrz[GETTEX] Found z files on pagez[GETTEX] Error fetching page: N)<10>requests<74>get<65>GETTEX_PAGE_URL<52>HEADERS<52>raise_for_statusr <00>text<78>find_all<6C>get_text<78>lower<65>
startswith<EFBFBD>split<69>append<6E>print<6E>len<65> Exception)
r<00>files<65>response<73>soup<75>linkr"r0r*r)<00>es
r<00>_get_file_list_from_page<67>'GettexExchange._get_file_list_from_page%s<><00><00>
<13><05>% 8<><1F>|<7C>|<7C>O<EFBFBD>W<EFBFBD>b<EFBFBD>Q<>H<EFBFBD> <14> %<25> %<25> '<27> <20><18><1D><1D> <0A>><3E>D<EFBFBD><1D> <0A> <0A>c<EFBFBD>*<2A><04><1B>x<EFBFBD>x<EFBFBD><06><02>+<2B><04><1B>}<7D>}<7D>4<EFBFBD>}<7D>0<><04><18>K<EFBFBD>4<EFBFBD>:<3A>:<3A><<3C>7<>I<EFBFBD><14><1A><1A><1C><U<><1F>?<3F>?<3F>6<EFBFBD>2<>2<>@D<><0F><0F>PS<50>@T<>@T<> 5<>d<EFBFBD>V<EFBFBD><<3C>\r<>sw<73>rx<72>Zy<5A><03>"<22><03>#<23>z<EFBFBD>z<EFBFBD>#<23><EFBFBD>r<EFBFBD>2<>H<EFBFBD><19>L<EFBFBD>L<EFBFBD>h<EFBFBD>!C<>D<><19>T<EFBFBD>k<EFBFBD>T<EFBFBD>Z<EFBFBD>Z<EFBFBD>\<5C>9<>i<EFBFBD>4<EFBFBD>:<3A>:<3A><<3C>>W<>#<23>H<EFBFBD><1B>#<23><EFBFBD><EFBFBD>v<EFBFBD>6<>6<>DH<44>O<EFBFBD>O<EFBFBD>TW<54>DX<44>DX<44>$9<>$<24><16>"@<40>`v<>w{<7B>v|<7C>^}<7D>C<EFBFBD>"&<26>C<EFBFBD>!P<01>PX<50>z<EFBFBD>Z<><03><19>L<EFBFBD>L<EFBFBD>h<EFBFBD>!C<>D<>3+<2B>6 <12>O<EFBFBD>C<EFBFBD><05>J<EFBFBD><<3C>~<7E>><3E> ?<3F>
<15> <0C><><19> 8<> <11>2<>1<EFBFBD>#<23>6<> 7<> 7<><14> <0C><> 8<>s+<00>DF><00>F><00>.F><00>A8F><00>>
G!<03>G<03>G!<03> target_datec <00><><00>/nURS5n[SS5HEnSH<nUSSUS3nURSUSUS35 URSUSUS 35 M> MG U[S
S 9-nURS5n[S S 5HEnSH<nUSSUS3nURSUSUS35 URSUSUS 35 M> MG U$)u<>
Generiert erwartete Dateinamen basierend auf dem Datum.
gettex veröffentlicht Dateien alle 15 Minuten während des Handels.
Dateiformat: posttrade.YYYYMMDD.HH.mm.{munc|mund}.csv.gz
<EFBFBD>%Y%m%d<><00>)r<00>r<00>-<00>02d<32>.z
posttrade.z .munc.csv.gzz .mund.csv.gzr<00><01>daysr<00>)<04>strftime<6D>ranger6r) rrAr:<00>date_str<74>hour<75>minute<74>time_str<74> next_date<74> next_date_strs r<00>_generate_expected_files<65>'GettexExchange._generate_expected_filesUs <00><00><13><05><1E>'<27>'<27><08>1<><08> <1A>!<21>R<EFBFBD>L<EFBFBD>D<EFBFBD>)<29><06>"<22>3<EFBFBD>Z<EFBFBD>q<EFBFBD><16><03> <0C>5<><08><15> <0C> <0C>z<EFBFBD>(<28><1A>1<EFBFBD>X<EFBFBD>J<EFBFBD>l<EFBFBD>K<>L<><15> <0C> <0C>z<EFBFBD>(<28><1A>1<EFBFBD>X<EFBFBD>J<EFBFBD>l<EFBFBD>K<>L<>*<2A>!<21> <20>)<29><11>"3<>3<> <09>!<21>*<2A>*<2A>8<EFBFBD>4<> <0A><19>!<21>Q<EFBFBD>K<EFBFBD>D<EFBFBD>)<29><06>"<22>3<EFBFBD>Z<EFBFBD>q<EFBFBD><16><03> <0C>5<><08><15> <0C> <0C>z<EFBFBD>-<2D><1F><01>(<28><1A><<3C>P<>Q<><15> <0C> <0C>z<EFBFBD>-<2D><1F><01>(<28><1A><<3C>P<>Q<>*<2A> <20> <15> rr)c<00>l<00>/n[U3n[R"U[SS9nURS:Xa/$UR 5 [ R"[R"UR5S9nUR5RS5nSSS5 [R"[R"W5SS9nUH/nUR!U5n U (aUR#U 5 M/M1 U$!,(df  Nn=f![$an
['S U
35 Sn
A
MdSn
A
ff=f![R(R*a6n
U
R,RS:wa['S
US U
35 Sn
A
U$Sn
A
f[$an
['S US U
35 Sn
A
U$Sn
A
ff=f) u,Lädt eine CSV.gz Datei und parst die Trades<65><r<00><><00><01>fileobj<62>utf-8N<38>;<3B><01> delimiterz[GETTEX] Error parsing row: z [GETTEX] HTTP error downloading <20>: zETTEX] Error downloading )<17>GETTEX_DOWNLOAD_BASEr+r,r.<00> status_coder/<00>gzip<69>GzipFile<6C>io<69>BytesIO<49>content<6E>read<61>decode<64>csv<73>
DictReader<EFBFBD>StringIO<49>_parse_csv_rowr6r9r7<00>
exceptions<EFBFBD> HTTPErrorr;) rr)<00>tradesr*r;<00>f<>csv_text<78>reader<65>row<6F>trader>s r<00>_download_and_parse_file<6C>'GettexExchange._download_and_parse_filets<><00><00><13><06> A<01>)<29>*<2A>8<EFBFBD>*<2A>5<>C<EFBFBD><1F>|<7C>|<7C>C<EFBFBD><17>"<22>E<>H<EFBFBD><17>#<23>#<23>s<EFBFBD>*<2A><19> <09> <14> %<25> %<25> '<27><16><1D><1D>r<EFBFBD>z<EFBFBD>z<EFBFBD>(<28>2B<32>2B<32>'C<>D<><01><1C>6<EFBFBD>6<EFBFBD>8<EFBFBD>?<3F>?<3F>7<EFBFBD>3<><08>E<01><19>^<5E>^<5E>B<EFBFBD>K<EFBFBD>K<EFBFBD><08>$9<>S<EFBFBD>I<>F<EFBFBD><1D><03><1D> <20>/<2F>/<2F><03>4<>E<EFBFBD><1C><1E> <0A> <0A>e<EFBFBD>,<2C><1D><1E><16> <0A>+E<01>D<><44>!<21><1D><19>8<><11><03><<3C>=<3D><1C><><1D><><18>"<22>"<22>,<2C>,<2C> J<01><10>z<EFBFBD>z<EFBFBD>%<25>%<25><13>,<2C><15>8<><18>
<EFBFBD>"<22>Q<EFBFBD>C<EFBFBD>H<>I<><49><16> <0A><><19> A<01> <11>/<2F><08>z<EFBFBD><12>A<EFBFBD>3<EFBFBD>?<3F> @<40> @<40><15> <0A><> A<01>sk<00>5D;<00>AD;<00>< D<03>6D;<00>)D<02><D;<00>
D<07>D;<00>
D8<05>D3<05>-D;<00>3D8<05>8D;<00>;F3<03>+F
<03>
F3<03>F.<03>.F3rtc <00>f<00>URSURSS55nU(dgURSURSS55nURSS 5n[U5nUS
::agURS URS S55nURSS 5n[U5nUS
::agURS URSS55nU(d+URSS5nURSS5n USU 3nURSS5nSU;aURSS5n[R"U5n
U
R
cU
R[ RS9n
[URUUUUU
S9$![an [SU 35 Sn A gSn A ff=f)u<>
Parst eine CSV-Zeile zu einem Trade.
Erwartete Spalten (RTS Format):
- TrdDtTm: Trading Date/Time
- ISIN: Instrument Identifier
- Pric: Preis
- Qty: Menge
- Ccy: Währung
<EFBFBD>ISIN<49> FinInstrmIdr#N<>Pric<69>Price<63>0<>,rIr<00>Qty<74>Quantity<74>TrdDtTm<54>TradingDateTime<6D>TrdDt<44>TrdTmz00:00:00<30>T<>Zz+00:00<30> )<01>tzinfo)<06>exchange<67>symbol<6F>isin<69>price<63>quantity<74> timestampz [GETTEX] Error parsing CSV row: ) r,<00>replace<63>floatr<00> fromisoformatr<74>r<00>utcr
rr9r7) rrtr<><00> price_strr<72><00>qty_strr<72><00>ts_str<74>trd_dt<64>trd_tmr<6D>r>s rrm<00>GettexExchange._parse_csv_row<6F>s<><00><00>2 <18><16>7<EFBFBD>7<EFBFBD>6<EFBFBD>3<EFBFBD>7<EFBFBD>7<EFBFBD>=<3D>"<22>#=<3D>><3E>D<EFBFBD><17><1B><1C><07><07><06><03><07><07><07><13>(=<3D>><3E>I<EFBFBD>!<21>)<29>)<29>#<23>s<EFBFBD>3<>I<EFBFBD><19>)<29>$<24>E<EFBFBD><14><01>z<EFBFBD><1B><1A>g<EFBFBD>g<EFBFBD>e<EFBFBD>S<EFBFBD>W<EFBFBD>W<EFBFBD>Z<EFBFBD><13>%=<3D>><3E>G<EFBFBD><1D>o<EFBFBD>o<EFBFBD>c<EFBFBD>3<EFBFBD>/<2F>G<EFBFBD><1C>W<EFBFBD>~<7E>H<EFBFBD><17>1<EFBFBD>}<7D><1B><19>W<EFBFBD>W<EFBFBD>Y<EFBFBD><03><07><07>0A<30>2<EFBFBD>(F<>G<>F<EFBFBD><19><1C><17><17><17>"<22>-<2D><06><1C><17><17><17>*<2A>5<><06>"<22>8<EFBFBD>1<EFBFBD>V<EFBFBD>H<EFBFBD>-<2D><06><1C>^<5E>^<5E>C<EFBFBD><18>2<>F<EFBFBD><12>&<26> <20><1F><1E><1E><03>S<EFBFBD>1<><06> <20>.<2E>.<2E>v<EFBFBD>6<>I<EFBFBD><18><1F><1F>'<27>%<25>-<2D>-<2D>X<EFBFBD>\<5C>\<5C>-<2D>B<> <09><18><1D><19><19><1B><19><1B>!<21>#<23> <0E> <0E><><19> <18> <11>4<>Q<EFBFBD>C<EFBFBD>8<> 9<><17><> <18>s+<00>)F<00>AF<00>2AF<00>8CF<00>
F0<03>F+<03>+F0N<>include_yesterday<61>
since_datec<00><00>/nU(a$[US5(aUR5OUnO<[R"[R
5[ SS9-
R5n[SURSU35 UR5nU(GaURS5nU[ SS9-nURS5n/n UHqn
U
Sn Xk;aU RU
5 M X<>;dM'U RS5n [U 5S :<3A>a)[U S
5n U S :aU RU
5 MoMqMs [SURS [U 5S 35 U H5n
URU
SU
S5nU(dM$UR!U5 M7 U(d<>[SURS35 UR#U5n[SURS[U5S35 SnUH3n UR%U 5nU(dMUR!U5 US- nM5 [SURSUS35 [SURS[U535 U$! GM<>=f)z
Holt alle Trades vom Vortag.
<EFBFBD>daterrJ<00>[z] Fetching trades for date: rCr)rI<00><00>rLz] Found z files for target date from pager*z3] No files from page, trying generated filenames...z ] Trying z potential filesrz] Successfully downloaded z filesz] Total trades fetched: )<13>hasattrr<72>r<00>nowrr<>rr7rr?rMr6r5r8<00>int<6E>_download_file_by_url<72>extendrUrv)rr<>r<><00>
all_tradesrA<00>
page_files<EFBFBD>
target_str<EFBFBD>next_day<61> next_day_str<74> target_filesrqr)<00>partsrPrp<00>expected_files<65>successful_filess r<00>fetch_latest_trades<65>"GettexExchange.fetch_latest_trades<65>s]<00><00><18>
<EFBFBD> <16>/6<>z<EFBFBD>6<EFBFBD>/J<>/J<>*<2A>/<2F>/<2F>+<2B>PZ<50>K<EFBFBD>#<23><<3C><<3C><08> <0C> <0C>5<> <09>q<EFBFBD>8I<38>I<>O<>O<>Q<>K<EFBFBD> <0A><01>$<24>)<29>)<29><1B>8<><1B> <0A>F<>G<><1A>2<>2<>4<>
<EFBFBD> <15>$<24>-<2D>-<2D>h<EFBFBD>7<>J<EFBFBD>"<22>Y<EFBFBD>A<EFBFBD>%6<>6<>H<EFBFBD>#<23>,<2C>,<2C>X<EFBFBD>6<>L<EFBFBD><1D>L<EFBFBD><1F><01><1C>Z<EFBFBD>=<3D><08><1D>)<29> <20>'<27>'<27><01>*<2A>!<21>-<2D><1D> (<28><0E><0E>s<EFBFBD> 3<><05><1E>u<EFBFBD>:<3A><11>?<3F>#&<26>u<EFBFBD>Q<EFBFBD>x<EFBFBD>=<3D>D<EFBFBD>#<23>a<EFBFBD>x<EFBFBD> ,<2C> 3<> 3<>A<EFBFBD> 6<> (<28>+<2B> <20>" <12>A<EFBFBD>d<EFBFBD>i<EFBFBD>i<EFBFBD>[<5B><08><13>\<5C>):<3A>(;<3B>;[<5B>\<5C> ]<5D>"<22><01><1D>3<>3<>A<EFBFBD>e<EFBFBD>H<EFBFBD>a<EFBFBD>
<EFBFBD>m<EFBFBD>L<><06><19>6<EFBFBD><1E>%<25>%<25>f<EFBFBD>-<2D>"<22> <1A> <11>A<EFBFBD>d<EFBFBD>i<EFBFBD>i<EFBFBD>[<5B> S<>T<> U<>!<21>:<3A>:<3A>;<3B>G<>N<EFBFBD> <11>A<EFBFBD>d<EFBFBD>i<EFBFBD>i<EFBFBD>[<5B> <09>#<23>n<EFBFBD>*=<3D>)><3E>>N<>O<> P<> <20> <1C>*<2A><08><1D>6<>6<>x<EFBFBD>@<40><06><19>6<EFBFBD><1E>%<25>%<25>f<EFBFBD>-<2D>$<24><01>)<29>$<24> +<2B> <12>A<EFBFBD>d<EFBFBD>i<EFBFBD>i<EFBFBD>[<5B> :<3A>;K<>:L<>F<EFBFBD>S<> T<> <0A><01>$<24>)<29>)<29><1B>4<>S<EFBFBD><1A>_<EFBFBD>4E<34>F<>G<><19><19><>9<1D><1C>s <00>7AI7<02>7I=r*c <00>*<00>/n[SURSU35 [R"U[SS9nUR
S:Xa/$UR 5 [R"[R"UR5S9nUR5RS5nSSS5 [R"[R "W5S S
9nUH/nUR#U5n U (aUR%U 5 M/M1 [SURS [)U5S U35 U$!,(df  N<>=f![&a&n
[SURS U
35 Sn
A
M<EFBFBD>Sn
A
ff=f![R*R,aCn
U
R.R
S:wa[SURSUSU
35 Sn
A
U$Sn
A
f[&a)n
[SURSUSU
35 Sn
A
U$Sn
A
ff=f)u%Lädt eine Datei direkt von einer URLr<4C>z] Downloading: rXrrYrZr\Nr]r^z] Error parsing row: z ] Parsed z trades from z] HTTP error downloading r`z] Error downloading )r7rr+r,r.rbr/rcrdrerfrgrhrirjrkrlrmr6r9r8rnror;) rr*r)rpr;rqrrrsrtrur>s rr<><00>$GettexExchange._download_file_by_urls<><00><00><13><06> A<01> <11>A<EFBFBD>d<EFBFBD>i<EFBFBD>i<EFBFBD>[<5B><0F><03>u<EFBFBD>5<> 6<><1F>|<7C>|<7C>C<EFBFBD><17>"<22>E<>H<EFBFBD><17>#<23>#<23>s<EFBFBD>*<2A><19> <09> <14> %<25> %<25> '<27><16><1D><1D>r<EFBFBD>z<EFBFBD>z<EFBFBD>(<28>2B<32>2B<32>'C<>D<><01><1C>6<EFBFBD>6<EFBFBD>8<EFBFBD>?<3F>?<3F>7<EFBFBD>3<><08>E<01><19>^<5E>^<5E>B<EFBFBD>K<EFBFBD>K<EFBFBD><08>$9<>S<EFBFBD>I<>F<EFBFBD><1D><03><1D> <20>/<2F>/<2F><03>4<>E<EFBFBD><1C><1E> <0A> <0A>e<EFBFBD>,<2C><1D><1E> <12>A<EFBFBD>d<EFBFBD>i<EFBFBD>i<EFBFBD>[<5B> <09>#<23>f<EFBFBD>+<2B><1D>m<EFBFBD>H<EFBFBD>:<3A>N<> O<><16> <0A>/E<01>D<><44>!<21><1D><19>A<EFBFBD>d<EFBFBD>i<EFBFBD>i<EFBFBD>[<5B>(=<3D>a<EFBFBD>S<EFBFBD>A<>B<><1C><><1D><> <18>"<22>"<22>,<2C>,<2C> J<01><10>z<EFBFBD>z<EFBFBD>%<25>%<25><13>,<2C><15><01>$<24>)<29>)<29><1B>$=<3D>c<EFBFBD>U<EFBFBD>"<22>Q<EFBFBD>C<EFBFBD>H<>I<><49><16> <0A><><19> A<01> <11>A<EFBFBD>d<EFBFBD>i<EFBFBD>i<EFBFBD>[<5B> 4<>S<EFBFBD>E<EFBFBD><12>A<EFBFBD>3<EFBFBD>?<3F> @<40> @<40><15> <0A><> A<01>sm<00>AF<00> AF<00> D<<03>-6F<00>$)E <02> -F<00><
E
<07>F<00>
E=<05>E8<05>2F<00>8E=<05>=F<00>H<03>8G<03> H<03>)H <03> Hr)TN)<16>__name__<5F>
__module__<EFBFBD> __qualname__<5F>__firstlineno__<5F>__doc__<5F>property<74>strrr<00>dictr?rr<>rUr
rvrrm<00>boolr<6C>r<><00>__static_attributes__rrrrrs<><00><00><08><0E><18>c<EFBFBD><18><0E><18>.<15>$<24>t<EFBFBD>*<2A>.<15>`<15>H<EFBFBD>M<EFBFBD>M<EFBFBD><15>d<EFBFBD>3<EFBFBD>i<EFBFBD><15>>&<16><13>&<16><14>e<EFBFBD><1B>&<16>P=<18>$<24>=<18>8<EFBFBD>E<EFBFBD>?<3F>=<18>~B<1A>T<EFBFBD>B<1A>h<EFBFBD>B<1A>bf<62>gl<67>bm<62>B<1A>H%<16><13>%<16><03>%<16><04>U<EFBFBD> <0B>%rr)r+rcrjrerrr<00>typingrr<00>baser r
<00>bs4r r.r-rarrrr<00><module>r<>sU<00><01><0F> <0B>
<EFBFBD> <09>2<>2<>!<21>%<25><1D>J<02>O<>0<>'<27>  <02><07>N<01><0F>I<01><14>k<16>\<5C>kr