StrategyQuant
AI asistent QAlgoCloudQuantAnalyzerQuantDataManager
Bezplatný kurzO společnosti
BlogDokumentaceFórumKontaktujte nás
BlogTržiště
Přihlásit se
Vytvořit účet zdarma

Produkt

  • Ceny a licence
  • Vzdělávání
  • Tržiště
  • Vyzkoušet zdarma

Právní informace

  • Podmínky služby
  • Zásady ochrany osobních údajů
  • Cookies

Kontakt

[email protected]

Společnost

StrategyQuant s.r.o.

Korunní 2569/108, Vinohrady, 101 00 Praha 10, Česká republika, EU

IČ: 04000498

DIČ: CZ04000498

Sociální sítě

  • Právní doložka | ZPRACOVÁNÍ A OCHRANA OSOBNÍCH ÚDAJŮ

    Minulá výkonnost není zárukou budoucího úspěchu. Všechny informace by měly být chápány výhradně jako vzdělávací

    Upozornění vyžadované vládou USA – Komise pro obchodování s komoditními futures (CFTC) uvádí: Obchodování s futures a opcemi s sebou nese vysoké potenciální výnosy, ale také vysoké potenciální riziko. Pro investování na trzích s futures a opcemi si musíte být vědomi těchto rizik a být ochotni je přijmout. Neobchodujte s penězi, které si nemůžete dovolit ztratit. Toto není výzva ani nabídka k nákupu/prodeji futures, akcií či opcí na ně. Nijak se neprohlašuje, že jakýkoli účet dosáhne nebo pravděpodobně dosáhne zisků či ztrát podobných těm, které jsou probírány v tomto dokumentu. Minulá výkonnost jakéhokoli obchodního systému nebo metodiky nemusí nutně vypovídat o budoucích výsledcích.

    PRAVIDLO CFTC 4.41 – HYPOTETICKÉ ČI SIMULOVANÉ VÝSLEDKY VÝKONNOSTI MAJÍ URČITÁ OMEZENÍ. NA ROZDÍL OD ZÁZNAMU SKUTEČNÉ VÝKONNOSTI NEPŘEDSTAVUJÍ SIMULOVANÉ VÝSLEDKY SKUTEČNÉ OBCHODOVÁNÍ. VZHLEDEM K TOMU, ŽE OBCHODY NEBYLY REÁLNĚ PROVEDENY, MOHOU VÝSLEDKY ZKRESLOVAT VLIV URČITÝCH TRŽNÍCH FAKTORŮ, JAKO JE NAPŘÍKLAD NEDOSTATEK LIKVIDITY. SIMULOVANÉ OBCHODNÍ PROGRAMY OBECNĚ PODLÉHAJÍ TAKÉ TOMU, ŽE JSOU NAVRHOVÁNY SE ZNALOSTÍ VÝVOJE TRHU ZPĚTNĚ. NEEXISTUJE ŽÁDNÁ ZÁRUKA ANI TVRZENÍ, ŽE JAKÝKOLI ÚČET DOSÁHNE NEBO PRAVDĚPODOBNĚ DOSÁHNE ZISKŮ ČI ZTRÁT PODOBNÝCH TĚM, KTERÉ JSOU ZDE ZOBRAZENY.

    NIJAK SE NEPROHLAŠUJE, ŽE JAKÝKOLI ÚČET DOSÁHNE NEBO PRAVDĚPODOBNĚ DOSÁHNE ZISKŮ ČI ZTRÁT PODOBNÝCH TĚM, O KTERÝCH SE PÍŠE NA TĚCHTO STRÁNKÁCH. POKUD SE ROZHODNETE INVESTOVAT SKUTEČNÉ PENÍZE, VEŠKERÁ OBCHODNÍ ROZHODNUTÍ NA FINANČNÍCH TRZÍCH MUSÍ BÝT POUZE VAŠE VLASTNÍ.

    © StrategyQuant 2026

    Běží na Klaudie.ai

    Zpět na tržištěDIGITAL

    CUSUM

    StrategyQuantIndikátory
    CUSUM

    Detekuje jemné, ale trvalé posuny v chování cen pomocí analýzy kumulativního součtu. Sleduje odchylky směrem nahoru i dolů s konfigurovatelnými prahovými hodnotami a generuje spolehlivé obchodní signály.

    Indikátor CUSUM ve StrategyQuant

    V dnešním příspěvku se podrobněji podíváme na vlastní implementaci indikátoru CUSUM (kumulativní součet). Metoda CUSUM, která se často používá ve statistické kontrole procesů, pomáhá detekovat malé posuny v průměrné úrovni časové řady. Tato konkrétní implementace je navržena pro integraci do StrategyQuant a nabízí obchodníkům dynamický způsob, jak sledovat změny na trhu a reagovat na ně.

    Co je CUSUM?

    CUSUM je sekvenční analytická technika, která v čase kumuluje odchylky od cílové hodnoty. Porovnáním kumulativního součtu s definovanými prahovými hodnotami je snazší rozpoznat i jemné posuny v chování cen. V naší implementaci dva samostatné akumulátory – jeden pro vzestupné pohyby (CUSUM Positive) a jeden pro sestupné pohyby (CUSUM Negative) – signalizují, kdy se změna v podkladové cenové řadě stane významnou.

    Rozbor kódu

    Indikátor je definován jako Java třída, která rozšiřuje

    IndicatorBlock

    , což zajišťuje bezproblémovou integraci do ekosystému StrategyQuant. Pojďme si rozebrat klíčové komponenty:

    Parametry a vstupy

    • Chart Data: Indikátor používá jako zdroj dat graf (obvykle uzavírací cenu).
    • Period: Určuje velikost okna, přes které se počítá klouzavý průměr a směrodatná odchylka. To je zásadní, protože to definuje citlivost indikátoru.
    • Threshold (k): Nastavuje detekční práh. Vyšší práh znamená, že se indikátor stává méně citlivým, což snižuje výskyt falešných signálů.
    • Drift (μ): Zohledňuje očekávaný posun v procesu, což umožňuje detekci menších, ale trvalých změn.
    @Parameter(defaultChartIndex=0)
    public ChartData Chart;
    @Parameter(category="Default", name="Period", minValue=1, maxValue=10000, defaultValue="20", step=1)
    public int Period;
    @Parameter(category="Default", name="Threshold", minValue=0.1, maxValue=100, defaultValue="2", step=0.1)
    @Help("Detection threshold (k) - higher values make the indicator less sensitive")
    public double Threshold;
    @Parameter(category="Default", name="Drift", minValue=0, maxValue=10, defaultValue="0.5", step=0.1)
    @Help("Expected drift in the process (mu) - helps detect smaller persistent changes")
    public double Drift;

    Výpočet klouzavých statistik

    Pro každou novou svíčku (nebo časový bod) kód vypočítá klouzavý průměr a směrodatnou odchylku za definovanou periodu. Tyto statistiky slouží jako základ pro standardizaci aktuálních cenových dat.

    double sum = 0;
    double sumSquares = 0;
    for (int i = 0; i < Period; i++) {
    double price = Chart.Close(i);
    sum += price;
    sumSquares += price * price;
    }
    double mean = sum / Period;
    double variance = (sumSquares - (sum * sum / Period)) / (Period - 1);
    double stdDev = Math.sqrt(variance);
    // Prevent division by zero
    if (stdDev == 0) {
    stdDev = 1;
    }

    Standardizace a výpočet CUSUM

    Aktuální cena je standardizována odečtením průměru a vydělením směrodatnou odchylkou. Standardizovaná hodnota se pak použije k aktualizaci akumulátorů CUSUM:

    • CUSUM Positive: Akumuluje kladné odchylky.
    • CUSUM Negative: Akumuluje záporné odchylky.

    Při každé aktualizaci se odečte jak drift, tak prahová hodnota, což zajišťuje, že ke kumulativnímu součtu přispívají pouze významné odchylky.

    // Get current standardized value
    double currentValue = (Chart.Close(0) - mean) / stdDev;
    // Calculate CUSUM values
    double prevCusumPos = getCurrentBar() > Period ? CusumPos.get(1) : 0;
    double prevCusumNeg = getCurrentBar() > Period ? CusumNeg.get(1) : 0;
    // Upper CUSUM
    CusumPos.set(0, Math.max(0, prevCusumPos + currentValue - Drift - Threshold));
    // Lower CUSUM
    CusumNeg.set(0, Math.max(0, prevCusumNeg - currentValue - Drift - Threshold));

    Řešení mezních případů

    Důležitým detailem je kontrola směrodatné odchylky. Když jsou cenová data příliš konzistentní (což vede ke směrodatné odchylce rovné nule), kód ji resetuje na hodnotu 1. Tato pojistka zabraňuje chybám dělení nulou a udržuje robustnost indikátoru i v podmínkách nízké volatility.

    Shrnutí

    Tento indikátor CUSUM je mocným nástrojem pro obchodníky, kteří chtějí zachytit jemné, ale trvalé změny v cenovém vývoji. Díky dynamickému přizpůsobování se nedávným tržním datům (prostřednictvím klouzavých statistik) a zohlednění šumu pomocí parametrů prahu a driftu nabízí indikátor vyvážený přístup ke generování signálů.

    Pokud máte zájem o začlenění tohoto indikátoru do svých obchodních strategií, kód je strukturován tak, aby byl snadno přizpůsobitelný a jednoduše integrovatelný v prostředí StrategyQuant.

    Znáte mě jako clonex. Jsem Ivan Hudec – vytvořil jsem bezplatné bloky, které zde používáte, a o výzkumu za nimi píšu na algotrading.space. Potřebujete něco vytvořit? Spolupracujte se mnou.

    Minulá výkonnost není zárukou budoucích výsledků. Všechny informace by měly být považovány pouze za vzdělávací Upozornění vyžadované vládou SPOJENÝCH STÁTŮ – Commodity Futures Trading Commission informuje: Obchodování s futures a opcemi přináší velký potenciální zisk, ale také velké potenciální riziko. Abyste mohli investovat na trzích s futures a opcemi, musíte si být vědomi těchto rizik a být ochotni je přijmout. Neobchodujte s penězi, které si nemůžete dovolit ztratit. Toto není výzva ani nabídka k nákupu/prodeji futures, akcií nebo opcí na ně. Žádné tvrzení nenaznačuje, že jakýkoli účet dosáhne nebo pravděpodobně dosáhne zisků či ztrát podobných těm, o kterých se hovoří v tomto dokumentu. Minulá výkonnost jakéhokoli obchodního systému nebo metodiky nemusí nutně vypovídat o budoucích výsledcích. PRAVIDLO CFTC 4.41 – VÝSLEDKY HYPOTETICKÉ ČI SIMULOVANÉ VÝKONNOSTI MAJÍ URČITÁ OMEZENÍ. NA ROZDÍL OD ZÁZNAMU SKUTEČNÉ VÝKONNOSTI SIMULOVANÉ VÝSLEDKY NEPŘEDSTAVUJÍ SKUTEČNÉ OBCHODOVÁNÍ. VZHLEDEM K TOMU, ŽE OBCHODY NEBYLY SKUTEČNĚ PROVEDENY, MOHOU VÝSLEDKY ZKRESLOVAT VLIV URČITÝCH TRŽNÍCH FAKTORŮ, JAKO JE NAPŘÍKLAD NEDOSTATEK LIKVIDITY. SIMULOVANÉ OBCHODNÍ PROGRAMY OBECNĚ PODLÉHAJÍ TAKÉ SKUTEČNOSTI, ŽE JSOU NAVRŽENY SE ZPĚTNÝM POHLEDEM NA HISTORICKÁ DATA. ŽÁDNÉ TVRZENÍ NENAZNAČUJE, ŽE JAKÝKOLI ÚČET DOSÁHNE NEBO PRAVDĚPODOBNĚ DOSÁHNE ZISKŮ ČI ZTRÁT PODOBNÝCH TĚM, KTERÉ JSOU ZDE UVEDENY. ŽÁDNÉ TVRZENÍ NENAZNAČUJE, ŽE JAKÝKOLI ÚČET DOSÁHNE NEBO PRAVDĚPODOBNĚ DOSÁHNE ZISKŮ ČI ZTRÁT PODOBNÝCH TĚM, O KTERÝCH SE HOVOŘÍ NA TĚCHTO STRÁNKÁCH. POKUD SE ROZHODNETE INVESTOVAT SKUTEČNÉ PENÍZE, VEŠKERÁ OBCHODNÍ ROZHODNUTÍ NA FINANČNÍCH TRZÍCH BY MĚLA BÝT POUZE VAŠE VLASTNÍ.
    Zdarma

    Soubory

    • Snippet-CUSUM.sqm15 KBUzamčeno

    Stažení se odemkne po nákupu nebo s aktivním tierem.

    Podrobnosti
    Verze1.0.0
    Zveřejněno19. října 2026
    Poslední aktualizace2. listopadu 2026
    AppSQ
    TypeSnippet
    Authorclonex / Ivan Hudec
    App version145.3058
    Codebase categoryIndicators / Signals