PCMCI: Көп айнымалы криптографиялық уақыт сериясындағы себепті анықтау
PCMCI, Джейкоб Рунге (2018, 2020) әзірлеген, көп айнымалы уақыт қатарлары үшін себептілікті ашу алгоритмі. Ол графикалық модельді үйренуге арналған ДК алгоритмін кондициялар жинағы бірден үш нәрсені бейтараптандыру үшін құрастырылған Моменттік шартты тәуелсіздік (MCI) тестімен біріктіреді: жалпы драйверлер, жанама жолдар және көз айнымалысының автокорреляциясы. Бұл соңғы бөлік мұқият оқып шығуға тұрарлық бөлік - бұл PCMCI-нің импульсті ауыр сериялардағы аңғал лаг тестілеуін түсіретін жалған-оң көрсеткішті мұра етпейтін себебі.
Бұл мақала екі сатылы құрылысты бірінші принциптерден бөліп көрсетеді, оны тиграмит кітапханасымен бірге жүзеге асырады және оның кез келгені сауда кірісі болмас бұрын әдісті қажет ететін нақты деректерді зерттеуді ұсынады.
Бұл қазірдің өзінде бар нәрсеге не қосады

Блог корреляция жұмысын жасап қойған. Крипто-қозғалыс негізінен ортақ фактор артефакті болып табылады — жұптар арасындағы сигналдық корреляция PC1 он жұптық кітаптағы дисперсияның 65% жұтатынын көрсетеді. Жоғары жұптық корреляция саудалық қатынас емес, сондықтан статистикалық арбитраж және жұптық сауда орнына коинтеграцияға қол жеткізеді. Ал тәуелділіктің өзі тұрақты емес: DCC-GARCH динамикалық корреляциясы Неліктен статикалық іріктеу корреляциясы тәуелділіктің стационарлылығын, тұрақты шекті құбылмалылықты және бағыт бойынша симметрияны қабылдайтынын санайды, олардың ешқайсысы орындалмайды.
Олардың ешқайсысы бағытталған графикті шығармайды. Олар сізге BTC, ETH және SOL бірге қозғалатынын және жалпы фактор оның көп бөлігін түсіндіретінін айтады; олар сізге BTC SOL-ді тікелей басқаратынын немесе қауымдастық толығымен ETH арқылы делдал болатынын айтпайды. Грейнджер себептілік бағытқа әдеттегі қол жеткізу болып табылады, бірақ стандартты Грейнджер бивариативті болып табылады — ол байқалмаған жалпы драйверді шынайы себептіліктен ажырата алмайды.
Бұл жерде көрінгеннен гөрі маңыздырақ үшінші сәтсіздік режимі бар. Әрбір криптографиялық қайтару сериясы оң автокорреляцияны жүзеге асырады және автокорреляция осындай екі қатар арасындағы кез келген тәуелділік сынағының сынақ статистикасын күшейтеді: екі тәуелсіз автокорреляцияланған процесс соңғы үлгілерде айтарлықтай байланысты көрінеді. Корреляциялық жұмыс мұны үлгі өлшемін түзету ретінде қарастырады (сигнал-корреляция мақаласындағы тиімді_N талқылауы). Себеп-салдарлық анықтау үшін бұл түзету емес, бұл дизайнның орталық мәселесі — және дәл осы 2-кезеңнің кондиционер жинағы шешу үшін құрастырылған.
PCMCI алгоритмі

PCMCI екі кезеңде жұмыс істейді. Бірінші кезең әрбір айнымалы үшін себеп-салдарлық ата-аналардың үміткерлер жинағын анықтайды. Екінші кезең әрбір үміткерді мұқият құрастырылған шартты тәуелсіздік тестімен тексереді.
1-кезең: ДК-тұрақты жағдайды таңдау (PC1)
1-кезеңнің мақсаты - әрбір айнымалы үшін табу , супержинақ оның шынайы себеп-салдарынан. Бұл жиын кейінірек 2-кезеңде кондиционер жинағы ретінде пайдаланылады.
Алгоритм әлеуетті ата-аналар ретінде барлық артта қалған айнымалылардың толық жиынтығынан басталады:
Содан кейін ол шартты түрде тәуелсіз айнымалыларды итеративті түрде жояды . Итерация кезінде , алгоритм әрбір үміткер ата-ананы тексереді тәуелсіздік үшін , кондиционерлеу қалған ең күшті ата-аналар (басқа өзі):
қайда жиынтығы болып табылады ішіндегі айнымалылар үшін ең күшті қауымдастықпен .
«Тұрақты» аспект бір итерация ішінде жою шешімдерін білдіреді нәтижелердегі ретке тәуелділікті болдырмайтын алдыңғы итерациядағы ата-аналық жиындарға негізделген. Бұл қайталану мүмкіндігі үшін өте маңызды.
Маңыздылық деңгейі бұл кезеңде әдейі либералды орнатылады (көбінесе 0,2 немесе одан жоғары немесе автоматты түрде pc_alpha=None тиграмиттегі опция). Мұндағы мақсат жалған позитивтерді бақылау емес, мүмкіндігінше маңызды емес айнымалыларды кесу кезінде барлық шынайы ата-аналарды сақтау. Бірнеше жалған позитивтер қолайлы; жалған негативтер жоқ.
2-кезең: Моменттік шартты тәуелсіздік (АЕК) сынағы
Бізде болжалды ата-аналық жиындар болғаннан кейін барлық айнымалылар үшін 2-кезең әрбір ықтимал себеп-салдарлық байланысты тексереді АЕК статистикасын пайдалана отырып:
Негізгі жаңалық - кондиционер жинағы. Біз шарт қоямыз:
- Мақсаттың ата-анасы : Бұл жалпы драйверлердің және басқа жанама жолдардың әсерін жояды .
- Дереккөздің ата-анасы : Бұл бастапқы айнымалы мәннің автокорреляциясын жояды, сынақ статистикасының жоғарылауына жол бермейді.
Екі жиынтықты бір уақытта шарттай отырып, MCI тікелей, бір сәттік себептік әсерді тиімді оқшаулайды. қосулы арнайы кешігуде , барлық шатастырушыларды, медиаторларды және автокорреляция әсерлерін есептемегенде.
Сынақ статистикасы кез келген жарамды шартты тәуелсіздік сынағы болуы мүмкін. Сызықтық қатынастар үшін ішінара корреляция стандартты таңдау болып табылады. Сызықты емес тәуелділіктер үшін шартты өзара ақпарат (CMI) арқылы бағаланады -ең жақын көрші әдістері немесе GPDC (Гаусс процесінің қашықтығы корреляциясы) тестін қолдануға болады.
Әдепкі сынақ ретінде ішінара корреляция
Көптеген қаржылық қолданбалар үшін ішінара корреляция сынағы (ParCorr тиграмитте) жұмыс күші болып табылады. Берілген айнымалылар , , және кондиционер жинағы , ішінара корреляция:
қайда және регрессияның қалдықтары болып табылады және қосулы , тиісінше:
Басқаша айтқанда, ішінара корреляция арасындағы сызықтық байланысты өлшейді және шартты айнымалылардың сызықтық әсерін жойғаннан кейін . Гаусс деректерімен шартты тәуелсіздіктің нөлдік гипотезасы бойынша сынақ статистикасы белгілі үлестірім бойынша жүреді, бұл нақты мүмкіндік береді - мәнді есептеу.
Ішінара корреляциялық мәндер жатыр және себеп-салдарлық байланыс күштерінің табиғи рейтингін қамтамасыз етеді. 1 кешігудегі BTC және 0 кешігуіндегі ETH арасындағы 0,3 жартылай корреляциясы, екі ата-аналық жиынға да шартты: «Барлық анықталған шатастырғыштардың және автокорреляцияның әсерлерін жойғаннан кейін, BTC қайтаруларына бір стандартты ауытқу соққысы ETH-дегі бір қайтару кезеңінің 0,3 стандартты ауытқуын болжайды».
Сынақ нәтижелерінен себептілік графигіне (DAG)
PCMCI шығысы матрица жұбы болып табылады:
- вал_матрица: пішін , әрбір бағытталған сілтеме үшін MCI сынақ статистикасын (мысалы, ішінара корреляция) қамтитын .
- p_матрица: сәйкес пішінді қамтитын бірдей пішін -мәндер.
Себеп-салдар графигін тұрғызу үшін біз шегін аламыз - түзетілген маңыздылық деңгейіндегі матрица:
Қандай түзету - бұл сіз қолмен сермеуге болатын егжей-тегжей емес. PCMCI сынақтары құрылымы бойынша тәуелді сілтемелер — әрбір сілтеме шарттау жиынын бір-бірімен бөліседі және бастапқы қатарлар басынан бастап өзара корреляцияланады. Дәл осы режимде қарапайым Бенджамин-Хочберг және Бенджамини-Йекутиелидің гармониялық жазасы сәтсіздікке ұшырайды. сынақтар арасындағы ерікті тәуелділіктен аман қалған; дефляцияланған Sharpe және бірнеше сынақ бұл нақты жасайтын нөлдік жалған табу жылдамдығын өлшейді. Жарияланған кез келген графикпен қатар тексерілген сілтемелер санын және түзетілген шекті хабарлаңыз.
Алынған құрылым уақыттық қатарлар графигі (TSG), ол бағытталған график, мұнда:
- Түйіндер белгілі бір уақыт кешігулеріндегі айнымалы мәндерді білдіреді.
- Бағытталған жиектер байланысты лагтар бар себепті байланыстарды білдіреді.
- Өзіндік циклдар авторегрессивті әсерлерді білдіреді.
Бұл TSG айнымалылар арасындағы себеп-салдарлық байланыстың бар болуы мен бағытын ғана көрсететін жиынтық графикке ықшамдауға болады (кешіктер бойынша жинақтау), бұл көбінесе түсіндіру үшін практикалық.
Тиграмитпен жүзеге асыру

Тиграмит Неміс аэроғарыш орталығындағы (DLR) Якоб Рунге тобы әзірлеген және қолдайтын PCMCI анықтамалық енгізуі болып табылады. Ол деректерді өңдеуге арналған таза API интерфейсін, бірнеше шартты тәуелсіздік сынақтарын, бірнеше PCMCI нұсқаларын және кірістірілген визуализацияны қамтамасыз етеді.
Орнату
pip install tigramite
Қалпына келтіру сауаттылығын тексеру (нәтиже емес)
Нарық деректерін іске қоспас бұрын, құбыр сіз отырғызған құрылымды табатынын растау керек. Бұл іске асыруға арналған бірлік сынағы және одан басқа ештеңе жоқ — төменде келтірілген ақиқат деректер генерациялау цикліне қолмен жазылған, сондықтан оны қалпына келтіру кодтың жұмыс істейтінін дәлелдейді және крипто туралы ештеңе айтпайды. Осылай оқы.
import numpy as np
import tigramite
from tigramite import data_processing as pp
from tigramite.pcmci import PCMCI
from tigramite.independence_tests.parcorr import ParCorr
from tigramite import plotting as tp
np.random.seed(42)
T, N = 2000, 5
var_names = ["BTC", "ETH", "SOL", "BNB", "AVAX"]
data = np.zeros((T, N))
noise = np.random.randn(T, N) * 0.5
for t in range(2, T):
data[t, 0] = 0.5 * data[t-1, 0] + noise[t, 0]
data[t, 1] = 0.5 * data[t-1, 1] + 0.4 * data[t-1, 0] + noise[t, 1]
data[t, 2] = 0.5 * data[t-1, 2] + 0.3 * data[t-1, 1] + noise[t, 2]
data[t, 3] = 0.5 * data[t-1, 3] + 0.25 * data[t-1, 0] + noise[t, 3]
data[t, 4] = 0.5 * data[t-1, 4] + 0.2 * data[t-2, 3] + noise[t, 4]
dataframe = pp.DataFrame(
data,
datatime=np.arange(T),
var_names=var_names,
)
parcorr = ParCorr(significance="analytic")
pcmci = PCMCI(
dataframe=dataframe,
cond_ind_test=parcorr,
verbosity=1,
)
results = pcmci.run_pcmci(
tau_max=4, # test lags up to 4 hours
tau_min=1, # only lagged (not contemporaneous) links
pc_alpha=None, # auto-select alpha for condition selection
alpha_level=0.01, # significance threshold for final MCI test
)
print("\n--- Significant causal links ---")
pcmci.print_significant_links(
p_matrix=results["p_matrix"],
val_matrix=results["val_matrix"],
alpha_level=0.01,
)
tp.plot_graph(
val_matrix=results["val_matrix"],
p_matrix=results["p_matrix"],
var_names=var_names,
link_colorbar_label="MCI (partial corr.)",
node_colorbar_label="Auto-MCI",
alpha_level=0.01,
figsize=(10, 6),
)
tp.plot_time_series_graph(
val_matrix=results["val_matrix"],
p_matrix=results["p_matrix"],
var_names=var_names,
link_colorbar_label="MCI (partial corr.)",
alpha_level=0.01,
figsize=(14, 6),
)
Шығарманы оқу
Отырғызылған VAR бойынша, print_significant_links қайтарады:
Variable BTC has 0 causal parent(s):
Variable ETH has 1 causal parent(s):
BTC (lag -1): val = 0.38, p = 0.000
Variable SOL has 1 causal parent(s):
ETH (lag -1): val = 0.28, p = 0.000
Variable BNB has 1 causal parent(s):
BTC (lag -1): val = 0.24, p = 0.000
Variable AVAX has 1 causal parent(s):
BNB (lag -2): val = 0.19, p = 0.000
Отырғызылған құрылым кері қайтарылады, оның ішінде теріс нәтиже маңызды: тікелей BTC -> SOL жиегі жоқ, тіпті BTC және SOL осы үлгіде қатты корреляцияланған. MCI қауымдастықты толығымен ETH медиаторына жатқызады. Бұл қосарланған кондиционер жинағы жасауы керек мінез-құлық және оны растау осы блоктың барлық мәні болып табылады. Бұл крипто туралы қорытынды емес, өту бірлік сынағы.
Нақты нарық деректерімен жұмыс істеу
PCMCI әлсіз стационарлық кірістерді қажет етеді, сондықтан оны бағалардан гөрі стандартталған журнал қайтарымдарымен қамтамасыз етіңіз — ADF машинасы және шикізат бағасының сәтсіздікке ұшырау себептері оның ішінде қамтылған. статистикалық арбитраж және жұптық сауда. Стандартталған қайтару матрицасы болғаннан кейін, тиграмитке тән бөлік екі жолдан тұрады:
data = log_returns.values # (T, N) standardized log-returns
var_names = list(log_returns.columns)
dataframe = pp.DataFrame(data, var_names=var_names)
Екі тиграмит бөлшектері әдеттегі қайтару құбырынан тасымалданбайды:
- Жоғарылмаған деректер: Тиграмит жетіспейтін бақылауларды өңдеуге арналған маскаланған массивтерді қолдайды. Қолдану
dataframe.maskбос орындарды белгілеу үшін — оларды алға қарай толтырмаңыз, өйткені жасанды бақылау оны қамтитын әрбір кондициялық жиынтықта таралады. - Жиілікті туралау: Барлық сериялар бір уақыт торында орналасуы керек. Крипто үшін бұл әдетте қарапайым, өйткені биржалар синхрондалған OHLCV деректерін береді.
Бұл әдісті зерттеу қажет
Жоғарыда барлығы техника. Құрылғы нақты деректерге нұсқамайынша және ол табылған нәрсені, соның ішінде жауап «тұрақты ештеңе» болмаса, мақаланы осы блогта жариялау мүмкін емес. Орындалатын жүгіру:
- Орнату: көрсетілген күндер ауқымындағы нақты себетке арналған сағат сайынғы қайтарымдар бойынша PCMCI+,
tau_maxдомендік негіздеу арқылы бекітілген,alpha_level = 0.01барлығында Бенджамин-Йекутиели түзетуімен сілтемелер. Тексерілген сілтемелер саны мен түзетілген шекті хабарлаңыз дефляцияланған Шарп стандартты. - Есептің нәтижесі: қай жиектер түзетуден аман қалады, олардың ішінара корреляциялық шамалары және үлгіден тыс қаншасы аман қалады.
- Тұрақтылықтың кем дегенде бір өлшемі, онсыз бөлік крипто тикерлері бар тиграмит README болып табылады: жылжымалы терезелер арқылы терезеден терезеге дейінгі жиектердің қандай бөлігі сақталады; немесе қалпына келтірілген графиктің сезімталдығы
tau_maxжәнеpc_alpha; немесе ParCorr және CMIknn бірдей деректер бойынша келіспеушілік.
Тұрақсыз диаграмма сәтсіз емес, жарияланатын нәтиже болып табылады. "Бес мамандық бойынша PCMCI: себеп-салдарлық диаграмма жылжымалы терезелерден аман қалмайды" осы блог бұрыннан бар жолға сәйкес келеді шынайы теріс нәтиже, және бұл жұмыс істейтін оқулықтан гөрі пайдалырақ мақала.
Дұрыс параметрлерді таңдау

Максималды кешігу
Бұл параметр себепті ашудың уақытша көкжиегін шектейді. Оны тым төмен орнату баяу таралатын әсерлерді жіберіп алуы мүмкін; тым жоғары есептеу құнын және бірнеше сынақ жүктемесін арттырады.
Сағат сайынғы крипто деректері үшін, дейін орынды диапазон болып табылады. Күнделікті деректер үшін, дейін жетекші-кідіріс қатынастарының көпшілігін түсіреді. Бұл жерде домен туралы білім маңызды: егер сіз қаржыландыру мөлшерлемесінің әсерлерін таратуға 8 сағат қажет екенін білсеңіз, орнатыңыз .
Шарт-таңдаудың маңыздылығы
Параметр pc_alpha=None тиграмитке бұл параметрді ұсынылған әдепкі болып табылатын Akaike ақпараттық критерийі арқылы автоматты түрде таңдауға мүмкіндік береді. Оны қолмен орнатқыңыз келсе, 0,1 мен 0,4 арасындағы мәндер жақсы жұмыс істейді. Төмен мәндер 1-кезеңді агрессивті етеді (ата-аналардың саны азырақ), бұл есептеу шығындарын азайтады, бірақ шынайы ата-аналарды жою қаупі бар.
Соңғы маңыздылық деңгейі
Бұл гипотезаны тексерудің стандартты шегі. Барлау талдауы үшін, жақсы. Сауда шешімін беретін кез келген нәрсе үшін пайдаланыңыз немесе қатаңырақ етіп, оны бұрын сипатталған тәуелділікті ескеретін түзетуден кейін қолданыңыз — номиналды деңгей сіз шынымен сынап жатқан деңгей емес.
PCMCI+ : Қазіргі сілтемелерді қосу

Стандартты PCMCI тек кешіккен себепті байланыстарды анықтайды (). Бірақ ақпарат бірнеше секунд ішінде активтер бойынша таралатын криптовалюта нарықтарында сағат сайынғы іріктеу жиілігі көптеген себептік әсерлердің бір мезгілде пайда болатынын білдіреді ().
PCMCI+ (Runge, 2020) артта қалған және қазіргі себеп-салдарлық байланыстарды табу үшін PCMCI кеңейтеді. Бір уақыттағы сілтемелер әдепкі бойынша бағытталмаған (уақыт реті бір уақыт қадамында себеп пен нәтижені ажырата алмайды), бірақ кейбіреулері стандартты ДК алгоритмінің бағдарлау ережелері (коллайдерлерді анықтау, циклдік шектеулер) арқылы бағдарлануы мүмкін.
results_plus = pcmci.run_pcmciplus(
tau_max=4,
tau_min=0, # include contemporaneous links
pc_alpha=None,
)
Сағат сайынғы немесе төменгі жиіліктегі криптографиялық қолданбалар үшін PCMCI+ стандартты PCMCI-ге қарағанда жиі қолайлы, өйткені көптеген кросс-актив әсерлері іріктеу аралығынан жылдамырақ орын алады.
Сызықты емес кеңейтімдер

Қаржылық уақыт қатарлары жиі сызықты емес тәуелділіктерді көрсетеді (мысалы, құбылмалылық кластерленуі, режимге тәуелді кешігу әсерлері). Тиграмит бірнеше сызықты емес шартты тәуелсіздік сынақтарын ұсынады:
Гаусс процесінің қашықтық корреляциясы (GPDC)
from tigramite.independence_tests.gpdc import GPDC
gpdc = GPDC(significance="analytic", gp_params=None)
pcmci = PCMCI(dataframe=dataframe, cond_ind_test=gpdc)
GPDC шарттау жиынының әсерін жою үшін Гаусс процесінің регрессиясын пайдаланады, содан кейін қалдықтарға қашықтық корреляциясын қолданады. қарағанда күштірек ParCorr сызықтық емес әсерлерді анықтау үшін, бірақ айтарлықтай баяу.
Шартты өзара ақпарат (CMIknn)
from tigramite.independence_tests.cmiknn import CMIknn
cmiknn = CMIknn(significance="shuffle_test", knn=0.1, shuffle_neighbors=5)
pcmci = PCMCI(dataframe=dataframe, cond_ind_test=cmiknn)
CMIknn шартты өзара ақпаратты пайдалана отырып бағалайды -ең жақын көрші әдістері. Ол толығымен параметрлік емес және ерікті функционалдық тәуелділіктерді анықтай алады. Сауда - бұл есептеу құны және статистикалық қуатқа қол жеткізу үшін көбірек деректер қажеттілігі.
Көптеген криптографиялық сауда қолданбалары үшін мынадан бастаңыз ParCorr. Сызықты емес себеп-салдарлық механизмдердің нақты дәлелдері және жеткілікті деректер (әдетте) болғанда ғана сызықты емес сынақтарға ауысыңыз. ).
Себеп-салдарлық график қай жерде қосылады

Себеп-салдарлық график сізге корреляциялық матрица мүмкін емес екенін береді: дережеден тыс. 20-50 актив бойынша PCMCI іске қосыңыз және көптеген шығыс жиектері бар түйіндер ақпараттық көшбасшы болып табылады — олардың қозғалыстары кітаптың қалған бөлігі үшін болжамдық мазмұнды қамтиды және бұл симметриялық корреляция матрицасы құрылымдық түрде жасауға қабілетсіз бағытталған талап болып табылады. Фактордың ыдырауы сізге BTC дисперсияда басым екенін айтады; Дəрежеден тыс рейтинг сізге BTC үстемдік ететінін айтады, себебі ол * жетекшілік етеді* немесе BTC қоса алғанда, барлығы бірдей макрошокқа жүктеледі.
Тұрақты график қалпына келтірілетін болса, оның осы блогта жұмыс істеу үшін тіркейтін орындары жеткілікті анық. График топологиясындағы жылжымалы терезе өзгерістері құрылымдық үзіліс сигналы болып табылады, ол HMM көмегімен режимді анықтау — ашық сұрақ - себептік график ауысуды күй үлгісіне қарағанда ертерек анықтайды. PCMCI-ді бір активке барлық орындарда қолдану миллисекунд ажыратымдылығымен өлшенген орын аралық баға көшбасшылығын қарастырады. смарт тапсырысты бағыттау; сағаттық жолақтардағы график оны қайталамай, соғуы керек. Және 8 сағаттық қаржыландыру механизмі арқылы жасалған мерзімді perp-spot сілтемесі, қамтылған қаржыландыру мөлшерлемесі арбитраж, жауабы белгілі сынақ жағдайы: PCMCI біз өз бетінше тексере алатын себепті құрылымды қалпына келтіруі керек, бұл оны ашу емес, валидация мақсатына айналдырады.
Бұлардың ешқайсысы табылған нәрсе емес. Олар жоғарыда сипатталған зерттеуді күтетін гипотезалар.
Шектеулер мен ескертулер

PCMCI күшті құрал болып табылады, бірақ оның тәжірибешілер түсінуі керек маңызды шектеулері бар:
-
Себеп-салдарлық жеткіліктілік болжамы: PCMCI барлық сәйкес айнымалылар сақталады деп болжайды. Егер жасырын жалпы драйвер (мысалы, киттің сауда қызметі, шығарылмаған жаңалықтар) екі бақыланатын активке әсер етсе, PCMCI олардың арасындағы тікелей себепті байланыс туралы қате хабарлауы мүмкін. LPCMCI нұсқасы азырақ бағытталған жиектерді қайтару құнымен жасырын шатастырғыштарға рұқсат беру арқылы оны ішінара шешеді.
-
Стационарлық болжам: Себеп-салдарлық құрылым талдау терезесінде тұрақты болып қабылданады. Іс жүзінде крипто нарығының динамикасы тез өзгереді. Құрылымдық үзілістерді анықтау үшін жылжымалы терезе талдауын пайдаланыңыз.
-
Сызықтық және сызықтық емес: бар
ParCorr, тек сызықтық себептік әсерлер анықталады. Сызықты емес себеп-салдарлық механизм (мысалы, «BTC BTC 5%-дан астам төмендеген кезде ғана ETH құлдырауын тудырады») сызықтық сынаққа көрінбейтін болар еді. -
Іріктеу жиілігі маңызды: іріктеу жиілігінен жылдамырақ пайда болатын себептік әсерлер қатарлас () стандартты PCMCI-дегі сілтемелер және олардың бағыты анық емес болуы мүмкін. PCMCI+ пайдаланыңыз және жоғары жиілікті деректерді қарастырыңыз.
-
Бірнеше сынақ: жоғарыда сипатталғандай түзетілген тәуелді сынақтар — қараңыз дефляцияланған Sharpe және бірнеше сынақ неге тәуелділік құрылымы айқын таңдауды жоққа шығарады.
-
Үлгі өлшеміне қойылатын талаптар: Сенімді себеп-салдарлық анықтау жеткілікті деректерді қажет етеді. Дөрекі нұсқаулық ретінде мақсат қойыңыз үшін
ParCorrбірге айнымалылар және сызықты емес сынақтар немесе үлкенірек айнымалы жиындар үшін.
PCMCI және басқа әдістер

| Әдіс | Автокорреляцияны өңдейді | Жалпы драйверлерді өңдейді | Заманауи сілтемелер | Сызықты емес | Жасырын шатастырғыштар |
|---|---|---|---|---|---|
| Гренжер себептілік | Ішінара | Жоқ (екі өзгермелі) | Жоқ | Кеңейтімдермен | Жоқ |
| Энтропияны тасымалдау | Ішінара | Жоқ (екі өзгермелі) | Жоқ | Иә | Жоқ |
| PCMCI | Иә (MCI) | Иә | Жоқ | CMIknn/GPDC көмегімен | Жоқ |
| PCMCI+ | Иә | Иә | Иә | CMIknn/GPDC көмегімен | Жоқ |
| LPCMCI | Иә | Иә | Иә | CMIknn/GPDC көмегімен | Иә |
| VAR-LiNGAM | Жоқ | Иә | Иә | Жоқ | Жоқ |
PCMCI-нің Гранджердің себептілік пен трансфер энтропиясынан басты артықшылығы - көп айнымалы жағдайда автокорреляция мен жалпы драйверлерді дұрыс есептейтін MCI сынағы. Дәл осы сценарий криптовалюта нарықтарында кездеседі, онда ондаған корреляциялық, автокорреляцияланған активтер бір уақытта өзара әрекеттеседі.
Қорытынды

Екі сатылы құрылыс - бұл алып тастауға тұрарлық үлес: негізгі жиынды байланыстыру үшін сирек шартты таңдау, содан кейін кондиционерлер жинағы көздің ата-аналарын, сондай-ақ мақсатты қамтитын MCI сынағы. Бұл екінші жартысы PCMCI-ді Грейджерден және трансфер энтропиясынан бөлетін нәрсе және бұл әдісті крипто қайтарымы ретінде автокорреляцияланған серияларда өміршең ететін нәрсе.
Әдіспен келмейтін нәрсе - бұл дәлел. Қалпына келтірілген график сигнал емес, ақпарат ағыны туралы гипотеза болып табылады және бұл блогта ол нақты деректерде көрсетілген қоржынмен, көрсетілген күн ауқымымен, тәуелділікті ескеретін түзетумен және терезе қозғалған кезде графиктің қозғалмайтындығын көрсететін кем дегенде бір өлшеммен іске қосылмайынша ешнәрсе үшін есептелмейді. Бұл іске қосылмайынша, мұнда барлығын құрал ретінде қарастырыңыз.
Егер график тұрақты емес болып шықса, бұл мақала. Бұл жұмыс оқулықтан артық бірінші теріс нәтиже болмас еді.
Анықтамалар
- Рунге, Дж., Новак, П., Кречмер, М., Флаксман, С. және Сейдинович, Д. (2019). Үлкен сызықтық емес уақыттық қатарлар деректер жиынындағы себепті байланыстарды анықтау және сандық анықтау. Ғылым жетістіктері, 5(11), eau4996.
- Рунге, Дж. (2020). Автокорреляцияланған сызықтық емес уақыт қатарларының деректер жиынындағы контемпоративтік және артта қалған себепті байланыстарды ашу. Жасанды интеллекттегі белгісіздік жөніндегі 36-шы конференция материалдары (UAI), PMLR 124:1388-1397.
- Тиграмит құжаттамасы: https://jakobrunge.github.io/tigramite/
- Tigramite GitHub репозиторийі: https://github.com/jakobrunge/tigramite
Authors
Trading-systems engineer
Trading-systems engineer building bots since 2017: cross-exchange arbitrage (connected up to 30 venues), cointegration-based pairs arbitrage across spot and futures, scalping, news and sentiment-driven strategies, trend algorithms, and portfolio management and balancing algorithms. Also builds sub-millisecond order execution, big-data warehouses, backtesting engines, AI agents, and trading interfaces (incl. open-source profitmaker.cc). Stack: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, architecture.