Pagājušās nakts tirgus tendenču vilnis Big Pancake un Second Pancake nāca ļoti laicīgā brīdī. Ir pagājis ilgs laiks, kopš mēs esam redzējuši tik gludu tendenci.
Šoreiz parunāsim par to, kā izmantot B An darījumu vēstures ierakstus.
B Amatpersonas ir dalījušās ar daudziem darījumu datiem. Ir Github lapa, kas sniedz detalizētu informāciju par to, kādas datu kategorijas ir pieejamas un kā tos lejupielādēt. Šeit es galvenokārt iepazīstinu ar apkopoto tirdzniecības ierakstu aggTrades lejupielādi, organizēšanu un izmantošanu.
aggTrades ir apkopots darījumu ieraksts. Tas nozīmē, ka Binance apkopo vairākus secīgus darījumus, kas tika pabeigti vienlaikus, tajā pašā virzienā un par to pašu cenu, līdzīgi kā K-rindā, bet tikai ar vienu cenu un to pašu cenu. nav augstākās cenas zemākā cena utt. Piemēram, ja tirgū tiek veikts liels pasūtījums un daudzi mazi pasūtījumi cenšas to noķert, tad šie pasūtījumi, kas tiek saņemti vienlaikus ļoti īsā laikā (milisekundes līmenī), tiks apkopoti kopā. Vai arī tas varētu būt pasūtījumu skaits, ko atbilstošā programma var saskaņot vienā reizē.
AggTrades datu priekšrocība ir tā, ka tie var reģistrēt darījumus milisekundes līmenī, taču tie nereģistrē tik daudz datu kā tīri darījumi (tas ir, oriģinālākie dati, kas nav apkopoti par to pašu cenu. Tas ir labs kompromiss). augstfrekvences dati.
Parasti kvazi-augstfrekvences stratēģijas izmanto šādus apkopotus datus. Patiesi augstfrekvences dati parasti izmanto darījumus un orderu grāmatas Datu apjoms ir ļoti liels, un tos ir neērti apstrādāt. Tas ne tikai patērē resursus, bet arī palielina programmēšanas grūtības.
AggTrades var izmantot, lai sintezētu īsus svečturus jebkurā līmenī, piemēram, īsus 5, 10 vai 15 sekunžu svečturus. Šādus svečturus ir iespējams izmantot arī dažām dienas tirdzniecības stratēģijām.
Piemēram, tālāk ir norādīta iepriekš publicētā 1 sekundes līmeņa K-rindiņa.

Ir arī augstfrekvences arbitrāža. Tagad ir ļoti grūti nopelnīt, ja biežums ir augstāks.
Šāda veida ķeksīša datus var izmantot arī alternatīvu svečturu sintezēšanai, piemēram, vienāda apjoma stieņus. Daudz precīzāk ir izmantot aggTrades, nekā tos sintezēt. Šādā veidā radītā CTA stratēģija var būt precīzāka nekā parastā svečtura stratēģija. Dažos nākamajos rakstos es varētu rakstīt par to, kā sintezēt šāda veida joslu.
Tālāk ir sniegts ievads par kodu (lielākā daļa koda ir pielikumā, jo tas ir pārāk garš, lai to ielīmētu galvenajā tekstā). Lejupielādes kods ir Binance piemērs, bet ar nelielām izmaiņām, kā arī mans apstrādātais kods.
Šeit mēs kā piemēru izmantojam ikmēneša datus (Binance nodrošina arī ikdienas datus). Kods ir ar vienu pavedienu un tiek izpildīts sinhroni, bez asinhronas vai vairāku pavedienu darbības. Tā kā šādas lejupielādes tiek veiktas reizi mēnesī vai n dienās, atliek tikai nedaudz pagaidīt un nevajag to sarežģīt.
Parasti nav problēmu ar vecāku datu izmantošanu pamata atpakaļpārbaudei, jo augstfrekvences datu atpakaļpārbaude galvenokārt ir paredzēta dažiem analītiskiem nolūkiem. Galvenokārt ir jāskatās uz reālo tirgu, jo novirze var būt liela vai neapstiprinātais pasūtījums pasūtījums netika izsekots, apmaiņa aizkavējās utt.
Tomēr man ir arī kods reāllaika datu lejupielādei vēlāk, tas ir, lai lejupielādētu dienas aggTrades datus, lai pārbaudītu neatbildētos tirgus apstākļus reāllaikā. Binance ikdienas dati ir pieejami tikai ar vairāku dienu nobīdi. Ja jums tas ir nepieciešams steidzami, jums tas ir jāpārmeklē pašam, izmantojot apmaiņas API.
1 Lejupielādēt
Pirmā koda daļa ir divi faili agg.py un utility.py, un pēc tam izmantojiet
python3 agg.py -y 2022 -m 6 -t um -mape /jūsu norādītais ceļš
Šeit ir komandas piemērs, lai lejupielādētu visus pastāvīgo līgumu aggTrades datus par 2022. gada jūniju. Parasti lejupielāde aizņem apmēram desmit minūtes. Dati tiek lejupielādēti saspiesti, tāpēc nākamais solis ir to atspiešana.
2. Dekompresija
Lai atspiestu datus, izmantojiet failu unzip.py. Tas ir ļoti īss kods, kuram ir tikai divas funkcijas: viena ikmēneša datu atspiešanai un otra ikdienas datu atspiešanai.
Zip fails tiek izvilkts csv failā. CSV failu problēma ir tā, ka tie aizņem daudz vietas cietajā diskā un tiek lēni ielādēti. Tātad nākamais solis ir pārveidot csv failu par marinētu failu. Jūs varat saspiest vai nesaspiest atkarībā no situācijas. Ja jūsu cietais disks ir liels, ieteicams to nesaspiest. Parasti pastāvīgie dati ir aptuveni 50 GB mēnesī, tāpēc tas ir atkarīgs no jūsu situācijas. Parasti jūs varat iegādāties ātrāku ārējo SSD cieto disku. Mūsdienās 1 TB maksā tikai dažus simtus juaņu, kas jau sen ir izdevīgs piedāvājums.
3. Pārvērtiet kompresiju par sālījumu
Konversijas kods ir failā csv_to_pkl.py. Kā minēts iepriekš, pēc konvertēšanas to ir vieglāk saglabāt un lietot.
Pēc konvertēšanas es manuāli izdzēšu csv failu, lai tas neaizņemtu vietu cietajā diskā. Nav koda šīs darbības īstenošanai. Kā minēts iepriekš, tās visas ir ļoti zemas frekvences darbības, un tām nav jābūt pilnībā automatizētām. Piemēra kodā izmantoju gzip 2. līmeņa saspiešanu. Parasti viena mēneša dati pēc saspiešanas būs mazāki par 10 GB.
csv ne tikai aizņem vietu, bet arī lēni ielādējas. Ieteicams marinētu gurķu formāts. Kopumā tā veiktspēja ir laba, un galvenais ir laba saderība. Ja vēlaties izmantot mākoņserveri vai daudzas citas atvērtā pirmkoda pakotnes, tas ir vairāk saderīgs nekā spalvu un tamlīdzīgi.
Labi, tagad dati ir gatavi, un mēs varam sākt pētīt stratēģijas.
4. Reāllaika datu lejupielāde
Kā minēts iepriekš, Binance datu servera dati vienmēr atpaliek par vienu vai divām dienām. Ja jums ir jāpārbauda, kā jūsu stratēģija darbosies pašreizējos tirgus apstākļos, bet vēl neesat tirgojis noteiktu monētu reāllaikā, varat izmantot šo kodu, lai lejupielādētu aggTrades atpakaļ uz noteiktu laiku. Es parasti to izmantoju, lai lejupielādētu pašreizējo 12 stundu datus, lai redzētu, kā stratēģija varētu darboties.
Ja tiek izmantots šāds kods, tas ir jāmaina uz jaunāko sākuma laiku.

Lejupielādētie dati ir šādi. Varat skatīt Binance dokumentāciju un jaunākos darījumus (kolekcijas), lai redzētu to īpašo nozīmi.

Izmantojot šādus neapstrādātus datus, varat izmantot df.resample(bar_size).agg(), lai tos brīvāk apkopotu jebkurā K-rindas līmenī.
beidzot
Tas būtībā ir iepriekš izmantoto aggTrades datu sagatavošana. Mūsdienu stratēģijas kļūst arvien daudzveidīgākas, un, izmantojot detalizētākus datus, var izstrādāt vairāk stratēģiju kategoriju. Stratēģiju komplementaritāte ir daudzu stratēģiju atslēga.
Ja jums ir nepieciešams iepriekš minētais kods, varat sazināties ar mums, lai to iegūtu.
