fintech-algorithms

Head and Shoulders

Install and import

bash
npm install fintech-algorithms
ts
import { head_and_shoulders } from "fintech-algorithms/geometric-chart-patterns/reversal-structures/head-and-shoulders";

Signature

head_and_shoulders()

Worked example

executed This entry is a thin wrapper its test never calls directly, so it was invoked with the arguments its shared implementation received. Real output, not asserted against a published figure.

Input

argument 1
[100, 101.125, 102.25, 103.375, 104.5, 105.625]

Showing 6 of 72 elements.

Call

head_and_shoulders()

Returns

object with 7 fields: pattern, state, reason, event, events, pivots, parameters

{
  "pattern": "head_and_shoulders",
  "state": "confirmed",
  "reason": "neckline-break-confirmed",
  "event": {
    "pattern": "head_and_shoulders",
    "pivot_indices": [14, 22, 31, 39, 47],
    "pivot_prices": [118, 109, 127, 110, 119],
    "pivot_types": ["high", "low", "high", "low", "high"],
    "candidate_available_index": 49,
    "confirmation_index": 56,
    "neckline": 111,
    "metrics": {
      "test_mean": 118.5,
      "level_spread": 0.008438818565400843,
      "retracement_min": 0.07172995780590717,
      "head_dominance": 0.07172995780590717,
      "formation_bars": 33,
      "min_separation": 8
    },
    "prior_move": 0.07627118644067797,
    "state": "confirmed",
    "reason": "neckline-break-confirmed",
    "direction": "bearish"
  },
  "events": [
    {
      "pattern": "head_and_shoulders",
      "pivot_indices": [14, 22, 31, 39, 47],
      "pivot_prices": [118, 109, 127, 110, 119],
      "pivot_types": ["high", "low", "high", "low", "high"],
      "candidate_available_index": 49,
      "confirmation_index": 56,
      "neckline": 111,
      "metrics": {
        "test_mean": 118.5,
        "level_spread": 0.008438818565400843,
        "retracement_min": 0.07172995780590717,
        "head_dominance": 0.07172995780590717,
        "formation_bars": 33,
        "min_separation": 8
      },
      "prior_move": 0.07627118644067797,
      "state": "confirmed",
      "reason": "neckline-break-confirmed",
      "direction": "bearish"
    }
  ],
  "pivots": [
    {
      "kind": "high",
      "index": 14,
      "confirmation_index": 16,
      "price": 118
    },
    {
      "kind": "low",
      "index": 22,
      "confirmation_index": 24,
      "price": 109
    },
    {
      "kind": "high",
      "index": 31,
      "confirmation_index": 33,
      "price": 127
    }
  ],
  "parameters": {
    "pivot_left": 2,
    "pivot_right": 2,
    "min_swing_bars": 5,
    "max_pattern_bars": 40,
    "max_confirmation_bars": 15,
    "trend_lookback": 6,
    "level_tolerance": 0.025,
    "shoulder_tolerance": 0.025,
    "min_retracement": 0.05,
    "head_margin": 0.05,
    "min_prior_trend": 0.03,
    "break_buffer": 0
  }
}

Other exports

This module also exports confirmedPivots, detectReversal, traceReversal, double_top, double_bottom, triple_top, triple_bottom, inverse_head_and_shoulders. Every module additionally exports run as an alias of its primary function, and a meta object carrying its catalog id, domain, family, shape and article URL.

Diagrams

Head and Shoulders — head and shoulders anatomy

How it works

This page states the contract — how to call it correctly. The article explains the concept: why it works, and where it breaks.

Read the article →

References

  • Claim-to-source map