{"slug":"stochastic-oscillator-explained","qid":"trace_aapl","label":"trace_aapl","post_title":"stochastic-oscillator-explained","post_url":"/blog/lang/th/stochastic-oscillator-explained#q-trace_aapl","columns":["date","k_fast_pct","k_slow_pct","d_slow_pct"],"rows":[{"date":"2026-05-01","k_fast_pct":76.4,"k_slow_pct":74.4,"d_slow_pct":72},{"date":"2026-05-04","k_fast_pct":64.7,"k_slow_pct":72.4,"d_slow_pct":73.5},{"date":"2026-05-05","k_fast_pct":88.3,"k_slow_pct":76.5,"d_slow_pct":74.4},{"date":"2026-05-06","k_fast_pct":97.8,"k_slow_pct":83.6,"d_slow_pct":77.5},{"date":"2026-05-07","k_fast_pct":82.7,"k_slow_pct":89.6,"d_slow_pct":83.2},{"date":"2026-05-08","k_fast_pct":95.1,"k_slow_pct":91.9,"d_slow_pct":88.3},{"date":"2026-05-11","k_fast_pct":93,"k_slow_pct":90.3,"d_slow_pct":90.6},{"date":"2026-05-12","k_fast_pct":98.4,"k_slow_pct":95.5,"d_slow_pct":92.6},{"date":"2026-05-13","k_fast_pct":94.3,"k_slow_pct":95.2,"d_slow_pct":93.7},{"date":"2026-05-14","k_fast_pct":92.4,"k_slow_pct":95.1,"d_slow_pct":95.3},{"date":"2026-05-15","k_fast_pct":91.8,"k_slow_pct":92.8,"d_slow_pct":94.4},{"date":"2026-05-18","k_fast_pct":85.2,"k_slow_pct":89.8,"d_slow_pct":92.6},{"date":"2026-05-19","k_fast_pct":87.9,"k_slow_pct":88.3,"d_slow_pct":90.3},{"date":"2026-05-20","k_fast_pct":96.6,"k_slow_pct":89.9,"d_slow_pct":89.3},{"date":"2026-05-21","k_fast_pct":98.2,"k_slow_pct":94.3,"d_slow_pct":90.8},{"date":"2026-05-22","k_fast_pct":92.6,"k_slow_pct":95.8,"d_slow_pct":93.3},{"date":"2026-05-26","k_fast_pct":88.7,"k_slow_pct":93.2,"d_slow_pct":94.4},{"date":"2026-05-27","k_fast_pct":91.2,"k_slow_pct":90.8,"d_slow_pct":93.3},{"date":"2026-05-28","k_fast_pct":96.8,"k_slow_pct":92.2,"d_slow_pct":92.1},{"date":"2026-05-29","k_fast_pct":88.1,"k_slow_pct":92,"d_slow_pct":91.7},{"date":"2026-06-01","k_fast_pct":61.3,"k_slow_pct":82.1,"d_slow_pct":88.8},{"date":"2026-06-02","k_fast_pct":98.9,"k_slow_pct":82.8,"d_slow_pct":85.6},{"date":"2026-06-03","k_fast_pct":69.7,"k_slow_pct":76.6,"d_slow_pct":80.5},{"date":"2026-06-04","k_fast_pct":74.1,"k_slow_pct":80.9,"d_slow_pct":80.1},{"date":"2026-06-05","k_fast_pct":56.4,"k_slow_pct":66.7,"d_slow_pct":74.7},{"date":"2026-06-08","k_fast_pct":24.7,"k_slow_pct":51.7,"d_slow_pct":66.4},{"date":"2026-06-09","k_fast_pct":9.4,"k_slow_pct":30.1,"d_slow_pct":49.5},{"date":"2026-06-10","k_fast_pct":14,"k_slow_pct":16,"d_slow_pct":32.6},{"date":"2026-06-11","k_fast_pct":27.5,"k_slow_pct":16.9,"d_slow_pct":21},{"date":"2026-06-12","k_fast_pct":12.5,"k_slow_pct":18,"d_slow_pct":17},{"date":"2026-06-15","k_fast_pct":30.1,"k_slow_pct":23.4,"d_slow_pct":19.4},{"date":"2026-06-16","k_fast_pct":39.5,"k_slow_pct":27.4,"d_slow_pct":22.9},{"date":"2026-06-17","k_fast_pct":28.5,"k_slow_pct":32.7,"d_slow_pct":27.8},{"date":"2026-06-18","k_fast_pct":35.4,"k_slow_pct":34.5,"d_slow_pct":31.5},{"date":"2026-06-22","k_fast_pct":32.1,"k_slow_pct":32,"d_slow_pct":33.1},{"date":"2026-06-23","k_fast_pct":23.1,"k_slow_pct":30.2,"d_slow_pct":32.2},{"date":"2026-06-24","k_fast_pct":19,"k_slow_pct":24.7,"d_slow_pct":29},{"date":"2026-06-25","k_fast_pct":3.2,"k_slow_pct":15.1,"d_slow_pct":23.3},{"date":"2026-06-26","k_fast_pct":23,"k_slow_pct":15.1,"d_slow_pct":18.3},{"date":"2026-06-29","k_fast_pct":27.9,"k_slow_pct":18,"d_slow_pct":16.1},{"date":"2026-06-30","k_fast_pct":54.4,"k_slow_pct":35.1,"d_slow_pct":22.7},{"date":"2026-07-01","k_fast_pct":72,"k_slow_pct":51.4,"d_slow_pct":34.8},{"date":"2026-07-02","k_fast_pct":97.8,"k_slow_pct":74.7,"d_slow_pct":53.8},{"date":"2026-07-06","k_fast_pct":96.2,"k_slow_pct":88.6,"d_slow_pct":71.6},{"date":"2026-07-07","k_fast_pct":88.4,"k_slow_pct":94.1,"d_slow_pct":85.8},{"date":"2026-07-08","k_fast_pct":95,"k_slow_pct":93.2,"d_slow_pct":92},{"date":"2026-07-09","k_fast_pct":99.3,"k_slow_pct":94.2,"d_slow_pct":93.9},{"date":"2026-07-10","k_fast_pct":96.3,"k_slow_pct":96.9,"d_slow_pct":94.8},{"date":"2026-07-13","k_fast_pct":87.6,"k_slow_pct":94.4,"d_slow_pct":95.2},{"date":"2026-07-14","k_fast_pct":82.7,"k_slow_pct":88.9,"d_slow_pct":93.4},{"date":"2026-07-15","k_fast_pct":97.8,"k_slow_pct":89.4,"d_slow_pct":90.9},{"date":"2026-07-16","k_fast_pct":97.7,"k_slow_pct":92.7,"d_slow_pct":90.3},{"date":"2026-07-17","k_fast_pct":97.7,"k_slow_pct":97.7,"d_slow_pct":93.3},{"date":"2026-07-20","k_fast_pct":84.5,"k_slow_pct":93.3,"d_slow_pct":94.6},{"date":"2026-07-21","k_fast_pct":84.2,"k_slow_pct":88.8,"d_slow_pct":93.3},{"date":"2026-07-22","k_fast_pct":78,"k_slow_pct":82.2,"d_slow_pct":88.1},{"date":"2026-07-23","k_fast_pct":52.4,"k_slow_pct":71.5,"d_slow_pct":80.8},{"date":"2026-07-24","k_fast_pct":92.9,"k_slow_pct":74.4,"d_slow_pct":76.1},{"date":"2026-07-27","k_fast_pct":91.8,"k_slow_pct":79,"d_slow_pct":75},{"date":"2026-07-28","k_fast_pct":91.9,"k_slow_pct":92.2,"d_slow_pct":81.9},{"date":"2026-07-29","k_fast_pct":80.5,"k_slow_pct":88.1,"d_slow_pct":86.4},{"date":"2026-07-30","k_fast_pct":65.9,"k_slow_pct":79.4,"d_slow_pct":86.6},{"date":"2026-07-31","k_fast_pct":20,"k_slow_pct":55.4,"d_slow_pct":74.3},{"date":"2026-08-03","k_fast_pct":7.7,"k_slow_pct":31.2,"d_slow_pct":55.4},{"date":"2026-08-04","k_fast_pct":21,"k_slow_pct":16.2,"d_slow_pct":34.3},{"date":"2026-08-05","k_fast_pct":24.7,"k_slow_pct":17.8,"d_slow_pct":21.7},{"date":"2026-08-06","k_fast_pct":27.8,"k_slow_pct":24.5,"d_slow_pct":19.5},{"date":"2026-08-07","k_fast_pct":29.9,"k_slow_pct":27.5,"d_slow_pct":23.3},{"date":"2026-08-10","k_fast_pct":18.5,"k_slow_pct":25.4,"d_slow_pct":25.8},{"date":"2026-08-11","k_fast_pct":11,"k_slow_pct":19.8,"d_slow_pct":24.2},{"date":"2026-08-12","k_fast_pct":5,"k_slow_pct":11.5,"d_slow_pct":18.9},{"date":"2026-08-13","k_fast_pct":11.8,"k_slow_pct":9.3,"d_slow_pct":13.5},{"date":"2026-08-14","k_fast_pct":13.3,"k_slow_pct":10.1,"d_slow_pct":10.3},{"date":"2026-08-17","k_fast_pct":12.5,"k_slow_pct":12.5,"d_slow_pct":10.6},{"date":"2026-08-18","k_fast_pct":28.9,"k_slow_pct":18.2,"d_slow_pct":13.6},{"date":"2026-08-19","k_fast_pct":87.3,"k_slow_pct":42.9,"d_slow_pct":24.6},{"date":"2026-08-20","k_fast_pct":54.4,"k_slow_pct":56.9,"d_slow_pct":39.3},{"date":"2026-08-21","k_fast_pct":44.5,"k_slow_pct":62.1,"d_slow_pct":54},{"date":"2026-08-24","k_fast_pct":49.6,"k_slow_pct":49.5,"d_slow_pct":56.2},{"date":"2026-08-25","k_fast_pct":47.3,"k_slow_pct":47.2,"d_slow_pct":52.9},{"date":"2026-08-26","k_fast_pct":65.3,"k_slow_pct":54.1,"d_slow_pct":50.3},{"date":"2026-08-27","k_fast_pct":71.1,"k_slow_pct":61.3,"d_slow_pct":54.2},{"date":"2026-08-28","k_fast_pct":87.8,"k_slow_pct":74.7,"d_slow_pct":63.4},{"date":"2026-08-31","k_fast_pct":74.7,"k_slow_pct":77.8,"d_slow_pct":71.3}],"shape":"series","sql":"WITH\n    bars AS (\n        SELECT\n            date,\n            argMax(toFloat64(close), _ingest_time) AS close,\n            argMax(toFloat64(high),  _ingest_time) AS high,\n            argMax(toFloat64(low),   _ingest_time) AS low\n        FROM global_markets.stocks_daily_aggs\n        WHERE ticker = 'AAPL'\n          AND date >= '2026-02-01'\n          AND date <  '2026-09-01'\n        GROUP BY date\n    ),\n    ranges AS (\n        SELECT\n            date,\n            close,\n            count()   OVER w14 AS n14,\n            max(high) OVER w14 AS hh14,\n            min(low)  OVER w14 AS ll14\n        FROM bars\n        WINDOW w14 AS (ORDER BY date ROWS BETWEEN 13 PRECEDING AND CURRENT ROW)\n    ),\n    fast AS (\n        SELECT\n            date,\n            if(hh14 > ll14, 100 * (close - ll14) / (hh14 - ll14), 50) AS k_fast\n        FROM ranges\n        WHERE n14 = 14\n    ),\n    slow AS (\n        SELECT\n            date,\n            k_fast,\n            avg(k_fast) OVER w3 AS k_slow,\n            count()     OVER w3 AS n3\n        FROM fast\n        WINDOW w3 AS (ORDER BY date ROWS BETWEEN 2 PRECEDING AND CURRENT ROW)\n    ),\n    lines AS (\n        SELECT\n            date,\n            k_fast,\n            k_slow,\n            avg(k_slow) OVER w3b AS d_slow,\n            count()     OVER w3b AS n3b\n        FROM slow\n        WHERE n3 = 3\n        WINDOW w3b AS (ORDER BY date ROWS BETWEEN 2 PRECEDING AND CURRENT ROW)\n    )\nSELECT\n    date,\n    round(k_fast, 1) AS k_fast_pct,\n    round(k_slow, 1) AS k_slow_pct,\n    round(d_slow, 1) AS d_slow_pct\nFROM lines\nWHERE n3b = 3\n  AND date >= '2026-05-01'\nORDER BY date","computed_at":"2026-09-28T15:44:31.461216+00:00","elapsed":0.008025721}