Files
wickra/bindings/python/python/wickra/__init__.py
T
kingchenc 2991ba411d Add B7 Trailing Stops family (6 indicators) (#193)
Adds the **Trailing Stops** family deepening (B7), six new indicators (434 -> 440):

- **KaseDevStop** — Cynthia Kase's volatility stop on the standard deviation of the two-bar true range.
- **ElderSafeZone** — Alexander Elder's stop offset by a multiple of average market noise.
- **AtrRatchet** — Kaufman ATR ratchet that tightens its multiple by a per-bar increment.
- **Nrtr** — Nick Rypock Trailing Reverse (percentage band).
- **TimeBasedStop** — exits after a fixed number of bars (scalar fraction of elapsed life).
- **ModifiedMaStop** — moving-average based trailing stop.

("Wilder Volatility System" is intentionally skipped — it overlaps the existing VoltyStop/Psar/SarExt.)

Each takes Candle input; the five band/structure stops emit a {value, direction} struct, TimeBasedStop a scalar. Wired across core, Python/Node/WASM bindings, fuzz target and tests. Verified locally: 3560 core lib + 398 doc tests, clippy clean, 515 node tests, 852 pytest, counter 440.
2026-06-07 01:32:15 +02:00

965 lines
18 KiB
Python

"""Wickra: streaming-first technical indicators.
Every indicator is available both in streaming mode (call ``update(value)`` per
new data point) and batch mode (call ``batch(numpy_array)`` over a full series).
Warmup positions in batch output are returned as ``NaN`` so the shape always
matches the input.
Example::
import numpy as np
import wickra as ta
prices = np.linspace(100, 200, 1000)
rsi = ta.RSI(14)
values = rsi.batch(prices) # numpy array, NaN during warmup
# Or streaming:
rsi = ta.RSI(14)
for p in prices:
v = rsi.update(p) # None during warmup, then float
"""
from __future__ import annotations
from ._wickra import (
__version__,
TimeBasedStop,
ProjectionOscillator,
VolatilityCone,
VolatilityRatio,
BipowerVariation,
VolatilityOfVolatility,
Garch11,
EwmaVolatility,
PpoHistogram,
MacdHistogram,
TsfOscillator,
Qstick,
GatorOscillator,
KasePermissionStochastic,
WAVE_PM,
POLARIZED_FRACTAL_EFFICIENCY,
TREND_STRENGTH_INDEX,
TTM_TREND,
QQE,
IMI,
ElderRay,
DerivativeOscillator,
RMI,
StochasticCCI,
DynamicMomentumIndex,
RSX,
FisherRSI,
DisparityIndex,
HoltWinters,
GD,
AdaptiveLaguerre,
MedianMA,
EHMA,
GMA,
SWMA,
Expectancy,
WinRate,
RegimeLabel,
JumpIndicator,
TrendLabel,
HighLowRange,
WickRatio,
BodySizePct,
CloseVsOpen,
RollingQuantile,
RollingPercentileRank,
RollingIqr,
RealizedVolatility,
LogReturn,
TSF,
LINEARREG_INTERCEPT,
ROCR100,
ROCR,
ROCP,
AVGPRICE,
MIDPOINT,
MIDPRICE,
DX,
MINUS_DI,
PLUS_DI,
# Trend
SMA,
EMA,
WMA,
DEMA,
TEMA,
HMA,
KAMA,
SMMA,
TRIMA,
ZLEMA,
T3,
VWMA,
ALMA,
McGinleyDynamic,
FRAMA,
VIDYA,
JMA,
Alligator,
EVWMA,
# Momentum
RSI,
AnchoredRSI,
MACD,
MACDFIX,
MACDEXT,
Stochastic,
CCI,
ROC,
WilliamsR,
ADX,
ADXR,
PLUS_DM,
MINUS_DM,
MFI,
TRIX,
AwesomeOscillator,
Aroon,
MOM,
CMO,
TSI,
PMO,
TII,
KST,
StochRSI,
UltimateOscillator,
RVI,
PGO,
KST,
SMI,
LaguerreRSI,
ConnorsRSI,
Inertia,
APO,
AwesomeOscillatorHistogram,
CFO,
ZeroLagMACD,
ElderImpulse,
STC,
PPO,
DPO,
Coppock,
AroonOscillator,
Vortex,
RWI,
WaveTrend,
MassIndex,
AcceleratorOscillator,
BalanceOfPower,
ChoppinessIndex,
VerticalHorizontalFilter,
# Volatility
BollingerBands,
ATR,
Keltner,
Donchian,
PSAR,
SAREXT,
NATR,
StdDev,
UlcerIndex,
HistoricalVolatility,
BollingerBandwidth,
PercentB,
# Trailing Stops
ModifiedMaStop,
Nrtr,
AtrRatchet,
ElderSafeZone,
SuperTrend,
ChandelierExit,
ChandeKrollStop,
AtrTrailingStop,
HiLoActivator,
VoltyStop,
YoyoExit,
DonchianStop,
PercentageTrailingStop,
StepTrailingStop,
RenkoTrailingStop,
KaseDevStop,
TrueRange,
ChaikinVolatility,
RVIVolatility,
ParkinsonVolatility,
GarmanKlassVolatility,
RogersSatchellVolatility,
YangZhangVolatility,
# Volume
OBV,
VWAP,
RollingVWAP,
ADL,
VolumePriceTrend,
ChaikinMoneyFlow,
ChaikinOscillator,
ForceIndex,
KVO,
VolumeOscillator,
NVI,
PVI,
WilliamsAD,
AnchoredVWAP,
DemandIndex,
TSV,
VZO,
MarketFacilitationIndex,
EaseOfMovement,
# Statistics
SpreadBollingerBands,
KalmanHedgeRatio,
GrangerCausality,
VarianceRatio,
BetaNeutralSpread,
DistanceSsd,
SpreadHurst,
OuHalfLife,
RollingCovariance,
RollingCorrelation,
TypicalPrice,
MedianPrice,
WeightedClose,
LinearRegression,
LinRegSlope,
ZScore,
LinRegAngle,
Variance,
CoefficientOfVariation,
Skewness,
Kurtosis,
StandardError,
DetrendedStdDev,
RSquared,
Autocorrelation,
MedianAbsoluteDeviation,
HurstExponent,
PearsonCorrelation,
Beta,
PairwiseBeta,
SpreadAr1Coefficient,
PairSpreadZScore,
LeadLagCrossCorrelation,
Cointegration,
RelativeStrengthAB,
SpearmanCorrelation,
# Ehlers / Cycle
SuperSmoother,
FisherTransform,
InverseFisherTransform,
Decycler,
DecyclerOscillator,
RoofingFilter,
CenterOfGravity,
CyberneticCycle,
InstantaneousTrendline,
EhlersStochastic,
EmpiricalModeDecomposition,
HilbertDominantCycle,
HT_DCPHASE,
HT_PHASOR,
HT_TRENDMODE,
AdaptiveCycle,
SineWave,
MAMA,
FAMA,
# Bands & Channels
ProjectionBands,
MedianChannel,
BomarBands,
QuartileBands,
MaEnvelope,
AccelerationBands,
StarcBands,
AtrBands,
HurstChannel,
LinRegChannel,
StandardErrorBands,
DoubleBollinger,
TtmSqueeze,
FractalChaosBands,
VwapStdDevBands,
# Pivots & S/R
ClassicPivots,
FibonacciPivots,
Camarilla,
WoodiePivots,
DemarkPivots,
WilliamsFractals,
ZigZag,
# DeMark
TDSetup,
TDSequential,
TDDeMarker,
TDREI,
TDPressure,
TDCombo,
TDCountdown,
TDLines,
TDRangeProjection,
TDDifferential,
TDOpen,
TDRiskLevel,
# Ichimoku & alternative charts
Ichimoku,
HeikinAshi,
# Market Profile
ValueArea,
VolumeProfile,
TpoProfile,
InitialBalance,
OpeningRange,
# Alt-Chart Bars
RenkoBars,
KagiBars,
PointAndFigureBars,
# Candlestick patterns
Doji,
Hammer,
InvertedHammer,
HangingMan,
ShootingStar,
Engulfing,
Harami,
MorningEveningStar,
ThreeSoldiersOrCrows,
PiercingDarkCloud,
Marubozu,
Tweezer,
SpinningTop,
ThreeInside,
ThreeOutside,
TwoCrows,
UpsideGapTwoCrows,
IdenticalThreeCrows,
ThreeLineStrike,
ThreeStarsInSouth,
AbandonedBaby,
AdvanceBlock,
BeltHold,
Breakaway,
Counterattack,
DojiStar,
DragonflyDoji,
GravestoneDoji,
LongLeggedDoji,
RickshawMan,
EveningDojiStar,
MorningDojiStar,
GapSideBySideWhite,
HighWave,
Hikkake,
HikkakeModified,
HomingPigeon,
OnNeck,
InNeck,
Thrusting,
SeparatingLines,
Kicking,
KickingByLength,
LadderBottom,
MatHold,
MatchingLow,
LongLine,
ShortLine,
RisingThreeMethods,
FallingThreeMethods,
UpsideGapThreeMethods,
DownsideGapThreeMethods,
StalledPattern,
StickSandwich,
Takuri,
ClosingMarubozu,
OpeningMarubozu,
TasukiGap,
UniqueThreeRiver,
ConcealingBabySwallow,
# Chart patterns
CupAndHandle,
RectangleRange,
FlagPennant,
Wedge,
Triangle,
HeadAndShoulders,
TripleTopBottom,
DoubleTopBottom,
# Harmonic patterns
ThreeDrives,
Cypher,
Shark,
Crab,
Bat,
Butterfly,
Gartley,
Abcd,
# Fibonacci
FibTimeZones,
FibChannel,
FibArcs,
FibFan,
FibConfluence,
GoldenPocket,
AutoFib,
FibProjection,
FibExtension,
FibRetracement,
# Microstructure: order book
OrderFlowImbalance,
OrderBookImbalanceTop1,
OrderBookImbalanceTopN,
OrderBookImbalanceFull,
Microprice,
QuotedSpread,
DepthSlope,
# Microstructure: trade flow
RollMeasure,
AmihudIlliquidity,
Vpin,
SignedVolume,
CumulativeVolumeDelta,
TradeImbalance,
# Microstructure: price impact
EffectiveSpread,
RealizedSpread,
KylesLambda,
# Microstructure: footprint
Footprint,
# Derivatives
FundingRate,
FundingRateMean,
FundingRateZScore,
FundingBasis,
OpenInterestDelta,
OIPriceDivergence,
OIWeighted,
LongShortRatio,
TakerBuySellRatio,
LiquidationFeatures,
TermStructureBasis,
CalendarSpread,
# Market Breadth
TickIndex,
AbsoluteBreadthIndex,
CumulativeVolumeIndex,
BullishPercentIndex,
UpDownVolumeRatio,
PercentAboveMa,
HighLowIndex,
NewHighsNewLows,
BreadthThrust,
Trin,
McClellanSummationIndex,
McClellanOscillator,
AdVolumeLine,
AdvanceDeclineRatio,
AdvanceDecline,
# Risk / Performance
SharpeRatio,
SortinoRatio,
CalmarRatio,
OmegaRatio,
MaxDrawdown,
AverageDrawdown,
DrawdownDuration,
PainIndex,
ValueAtRisk,
ConditionalValueAtRisk,
ProfitFactor,
GainLossRatio,
RecoveryFactor,
KellyCriterion,
TreynorRatio,
InformationRatio,
Alpha,
# Seasonality & Session
SessionVwap,
SessionHighLow,
SessionRange,
AverageDailyRange,
OvernightGap,
OvernightIntradayReturn,
TurnOfMonth,
SeasonalZScore,
TimeOfDayReturnProfile,
DayOfWeekProfile,
IntradayVolatilityProfile,
VolumeByTimeProfile,
)
__all__ = [
"TimeBasedStop",
"ProjectionOscillator",
"VolatilityCone",
"VolatilityRatio",
"BipowerVariation",
"VolatilityOfVolatility",
"Garch11",
"EwmaVolatility",
"PpoHistogram",
"MacdHistogram",
"TsfOscillator",
"Qstick",
"GatorOscillator",
"KasePermissionStochastic",
"WAVE_PM",
"POLARIZED_FRACTAL_EFFICIENCY",
"TREND_STRENGTH_INDEX",
"TTM_TREND",
"QQE",
"IMI",
"ElderRay",
"DerivativeOscillator",
"RMI",
"StochasticCCI",
"DynamicMomentumIndex",
"RSX",
"FisherRSI",
"DisparityIndex",
"HoltWinters",
"GD",
"AdaptiveLaguerre",
"MedianMA",
"EHMA",
"GMA",
"SWMA",
"Expectancy",
"WinRate",
"RegimeLabel",
"JumpIndicator",
"TrendLabel",
"HighLowRange",
"WickRatio",
"BodySizePct",
"CloseVsOpen",
"RollingQuantile",
"RollingPercentileRank",
"RollingIqr",
"RealizedVolatility",
"LogReturn",
"TSF",
"LINEARREG_INTERCEPT",
"ROCR100",
"ROCR",
"ROCP",
"AVGPRICE",
"MIDPOINT",
"MIDPRICE",
"DX",
"MINUS_DI",
"PLUS_DI",
"__version__",
# Trend
"SMA",
"EMA",
"WMA",
"DEMA",
"TEMA",
"HMA",
"KAMA",
"SMMA",
"TRIMA",
"ZLEMA",
"T3",
"VWMA",
"ALMA",
"McGinleyDynamic",
"FRAMA",
"VIDYA",
"JMA",
"Alligator",
"EVWMA",
# Momentum
"RSI",
"AnchoredRSI",
"MACD",
"MACDFIX",
"MACDEXT",
"Stochastic",
"CCI",
"ROC",
"WilliamsR",
"ADX",
"ADXR",
"PLUS_DM",
"MINUS_DM",
"MFI",
"TRIX",
"AwesomeOscillator",
"Aroon",
"MOM",
"CMO",
"TSI",
"PMO",
"TII",
"KST",
"StochRSI",
"UltimateOscillator",
"RVI",
"PGO",
"KST",
"SMI",
"LaguerreRSI",
"ConnorsRSI",
"Inertia",
"APO",
"AwesomeOscillatorHistogram",
"CFO",
"ZeroLagMACD",
"ElderImpulse",
"STC",
"PPO",
"DPO",
"Coppock",
"AroonOscillator",
"Vortex",
"RWI",
"WaveTrend",
"MassIndex",
"AcceleratorOscillator",
"BalanceOfPower",
"ChoppinessIndex",
"VerticalHorizontalFilter",
# Volatility
"BollingerBands",
"ATR",
"Keltner",
"Donchian",
"PSAR",
"SAREXT",
"NATR",
"StdDev",
"UlcerIndex",
"HistoricalVolatility",
"BollingerBandwidth",
"PercentB",
# Trailing Stops
"ModifiedMaStop",
"Nrtr",
"AtrRatchet",
"ElderSafeZone",
"SuperTrend",
"ChandelierExit",
"ChandeKrollStop",
"AtrTrailingStop",
"HiLoActivator",
"VoltyStop",
"YoyoExit",
"DonchianStop",
"PercentageTrailingStop",
"StepTrailingStop",
"RenkoTrailingStop",
"KaseDevStop",
"TrueRange",
"ChaikinVolatility",
"RVIVolatility",
"ParkinsonVolatility",
"GarmanKlassVolatility",
"RogersSatchellVolatility",
"YangZhangVolatility",
# Volume
"OBV",
"VWAP",
"RollingVWAP",
"ADL",
"VolumePriceTrend",
"ChaikinMoneyFlow",
"ChaikinOscillator",
"ForceIndex",
"KVO",
"VolumeOscillator",
"NVI",
"PVI",
"WilliamsAD",
"AnchoredVWAP",
"DemandIndex",
"TSV",
"VZO",
"MarketFacilitationIndex",
"EaseOfMovement",
# Statistics
"SpreadBollingerBands",
"KalmanHedgeRatio",
"GrangerCausality",
"VarianceRatio",
"BetaNeutralSpread",
"DistanceSsd",
"SpreadHurst",
"OuHalfLife",
"RollingCovariance",
"RollingCorrelation",
"TypicalPrice",
"MedianPrice",
"WeightedClose",
"LinearRegression",
"LinRegSlope",
"ZScore",
"LinRegAngle",
"Variance",
"CoefficientOfVariation",
"Skewness",
"Kurtosis",
"StandardError",
"DetrendedStdDev",
"RSquared",
"Autocorrelation",
"MedianAbsoluteDeviation",
"HurstExponent",
"PearsonCorrelation",
"Beta",
"PairwiseBeta",
"SpreadAr1Coefficient",
"PairSpreadZScore",
"LeadLagCrossCorrelation",
"Cointegration",
"RelativeStrengthAB",
"SpearmanCorrelation",
# Ehlers / Cycle
"SuperSmoother",
"FisherTransform",
"InverseFisherTransform",
"Decycler",
"DecyclerOscillator",
"RoofingFilter",
"CenterOfGravity",
"CyberneticCycle",
"InstantaneousTrendline",
"EhlersStochastic",
"EmpiricalModeDecomposition",
"HilbertDominantCycle",
"HT_DCPHASE",
"HT_PHASOR",
"HT_TRENDMODE",
"AdaptiveCycle",
"SineWave",
"MAMA",
"FAMA",
# Bands & Channels
"ProjectionBands",
"MedianChannel",
"BomarBands",
"QuartileBands",
"MaEnvelope",
"AccelerationBands",
"StarcBands",
"AtrBands",
"HurstChannel",
"LinRegChannel",
"StandardErrorBands",
"DoubleBollinger",
"TtmSqueeze",
"FractalChaosBands",
"VwapStdDevBands",
# Pivots & S/R
"ClassicPivots",
"FibonacciPivots",
"Camarilla",
"WoodiePivots",
"DemarkPivots",
"WilliamsFractals",
"ZigZag",
# DeMark
"TDSetup",
"TDSequential",
"TDDeMarker",
"TDREI",
"TDPressure",
"TDCombo",
"TDCountdown",
"TDLines",
"TDRangeProjection",
"TDDifferential",
"TDOpen",
"TDRiskLevel",
# Ichimoku & alternative charts
"Ichimoku",
"HeikinAshi",
# Market Profile
"ValueArea",
"VolumeProfile",
"TpoProfile",
"InitialBalance",
"OpeningRange",
# Alt-Chart Bars
"RenkoBars",
"KagiBars",
"PointAndFigureBars",
# Candlestick patterns
"Doji",
"Hammer",
"InvertedHammer",
"HangingMan",
"ShootingStar",
"Engulfing",
"Harami",
"MorningEveningStar",
"ThreeSoldiersOrCrows",
"PiercingDarkCloud",
"Marubozu",
"Tweezer",
"SpinningTop",
"ThreeInside",
"ThreeOutside",
"TwoCrows",
"UpsideGapTwoCrows",
"IdenticalThreeCrows",
"ThreeLineStrike",
"ThreeStarsInSouth",
"AbandonedBaby",
"AdvanceBlock",
"BeltHold",
"Breakaway",
"Counterattack",
"DojiStar",
"DragonflyDoji",
"GravestoneDoji",
"LongLeggedDoji",
"RickshawMan",
"EveningDojiStar",
"MorningDojiStar",
"GapSideBySideWhite",
"HighWave",
"Hikkake",
"HikkakeModified",
"HomingPigeon",
"OnNeck",
"InNeck",
"Thrusting",
"SeparatingLines",
"Kicking",
"KickingByLength",
"LadderBottom",
"MatHold",
"MatchingLow",
"LongLine",
"ShortLine",
"RisingThreeMethods",
"FallingThreeMethods",
"UpsideGapThreeMethods",
"DownsideGapThreeMethods",
"StalledPattern",
"StickSandwich",
"Takuri",
"ClosingMarubozu",
"OpeningMarubozu",
"TasukiGap",
"UniqueThreeRiver",
"ConcealingBabySwallow",
# Chart patterns
"CupAndHandle",
"RectangleRange",
"FlagPennant",
"Wedge",
"Triangle",
"HeadAndShoulders",
"TripleTopBottom",
"DoubleTopBottom",
# Harmonic patterns
"ThreeDrives",
"Cypher",
"Shark",
"Crab",
"Bat",
"Butterfly",
"Gartley",
"Abcd",
# Fibonacci
"FibTimeZones",
"FibChannel",
"FibArcs",
"FibFan",
"FibConfluence",
"GoldenPocket",
"AutoFib",
"FibProjection",
"FibExtension",
"FibRetracement",
# Microstructure: order book
"OrderFlowImbalance",
"OrderBookImbalanceTop1",
"OrderBookImbalanceTopN",
"OrderBookImbalanceFull",
"Microprice",
"QuotedSpread",
"DepthSlope",
# Microstructure: trade flow
"RollMeasure",
"AmihudIlliquidity",
"Vpin",
"SignedVolume",
"CumulativeVolumeDelta",
"TradeImbalance",
# Microstructure: price impact
"EffectiveSpread",
"RealizedSpread",
"KylesLambda",
# Microstructure: footprint
"Footprint",
# Derivatives
"FundingRate",
"FundingRateMean",
"FundingRateZScore",
"FundingBasis",
"OpenInterestDelta",
"OIPriceDivergence",
"OIWeighted",
"LongShortRatio",
"TakerBuySellRatio",
"LiquidationFeatures",
"TermStructureBasis",
"CalendarSpread",
# Market Breadth
"TickIndex",
"AbsoluteBreadthIndex",
"CumulativeVolumeIndex",
"BullishPercentIndex",
"UpDownVolumeRatio",
"PercentAboveMa",
"HighLowIndex",
"NewHighsNewLows",
"BreadthThrust",
"Trin",
"McClellanSummationIndex",
"McClellanOscillator",
"AdVolumeLine",
"AdvanceDeclineRatio",
"AdvanceDecline",
# Risk / Performance
"SharpeRatio",
"SortinoRatio",
"CalmarRatio",
"OmegaRatio",
"MaxDrawdown",
"AverageDrawdown",
"DrawdownDuration",
"PainIndex",
"ValueAtRisk",
"ConditionalValueAtRisk",
"ProfitFactor",
"GainLossRatio",
"RecoveryFactor",
"KellyCriterion",
"TreynorRatio",
"InformationRatio",
"Alpha",
# Seasonality & Session
"SessionVwap",
"SessionHighLow",
"SessionRange",
"AverageDailyRange",
"OvernightGap",
"OvernightIntradayReturn",
"TurnOfMonth",
"SeasonalZScore",
"TimeOfDayReturnProfile",
"DayOfWeekProfile",
"IntradayVolatilityProfile",
"VolumeByTimeProfile",
]