Quantitative family: time series, indicators and strategy nodes

Overview

Base Control: QuantControl : MaterialControl
Namespace: Beep.Ski.Quantitative

The QuantControl is the root control for this diagram family. It inherits MaterialControl and provides shared port management, styling, and template methods for all nodes in the family.

This family contains 6 node types.

Node Types

Node ClassShapeDescription
TimeSeriesNodeChart/candlestickOHLCV time series with symbol, interval, and date range.
IndicatorNodeIndicator panelTechnical indicator: SMA, EMA, RSI, MACD, Bollinger, Stochastic.
DataNodesData blockInput/transformed data including fundamentals and alternative data.
IndicatorNodesMulti-indicatorComposite indicator combining multiple signals.
StatisticalNodesStatistics iconStatistical analysis: correlation, regression, distribution tests.
StrategyNodesStrategy cog/iconTrading strategy with entry/exit rules and position sizing.

TimeSeriesNode

OHLCV time series with symbol, interval, and date range.

ShapeChart/candlestick
Input Ports0
Output Ports1+

IndicatorNode

Technical indicator: SMA, EMA, RSI, MACD, Bollinger, Stochastic.

ShapeIndicator panel
Input Ports1
Output Ports1

DataNodes

Input/transformed data including fundamentals and alternative data.

ShapeData block
Input Ports1
Output Ports1

IndicatorNodes

Composite indicator combining multiple signals.

ShapeMulti-indicator
Input Ports2+
Output Ports1

StatisticalNodes

Statistical analysis: correlation, regression, distribution tests.

ShapeStatistics icon
Input Ports1+
Output Ports1

StrategyNodes

Trading strategy with entry/exit rules and position sizing.

ShapeStrategy cog/icon
Input Ports2+
Output Ports1

Connection Points

Every node in this family exposes connection points (ports) for linking to other nodes. Port positions are computed lazily by LayoutPorts(), which runs when MarkPortsDirty() flags the layout as stale after a move or resize.

Node ClassInput PortsOutput PortsExtra
TimeSeriesNode01+—
IndicatorNode11—
DataNodes11—
IndicatorNodes2+1—
StatisticalNodes1+1—
StrategyNodes2+1—

Connection Conventions

When building diagrams with this family, follow these conventions:

  • TimeSeries is always the data source (no inputs)
  • Indicators chain left-to-right from data to strategy
  • Strategies may output to backtesting or execution nodes

Usage Example

Complete example showing creation, node placement, and connection:

C# Example

var quant = new QuantControl
{
    X = 50, Y = 50,
    Width = 700, Height = 500
};
drawingManager.AddComponent(quant);

var ts = new TimeSeriesNode
{
    X = 100, Y = 150,
    Symbol = "AAPL",
    Interval = "1d"
};
var sma = new IndicatorNode
{
    X = 280, Y = 150,
    IndicatorType = "SMA",
    Period = 20
};
var strategy = new StrategyNode
{
    X = 460, Y = 150,
    StrategyType = "MovingAverageCrossover"
};

drawingManager.AddComponent(ts);
drawingManager.AddComponent(sma);
drawingManager.AddComponent(strategy);

drawingManager.ConnectComponents(ts.OutPoints[0], sma.InPoints[0]);
drawingManager.ConnectComponents(sma.OutPoints[0], strategy.InPoints[0]);