メインコンテンツまでスキップ

数式

数式を使うと、チャートのメトリクスからカスタムの計算系列を作成できます。算術演算子と組み込み関数を使って、メトリクスを組み合わせ、変換し、分析できます。

数式の追加

  1. 編集モードでチャートを開きます
  2. + 追加ボタンをクリックし、数式を追加を選択します
  3. ラベルを入力します(例: "7-day SMA of Price")
  4. を入力します(例: sma(m1, 7)
  5. 数式を追加をクリックします

数式の結果は、独自の色とスタイルを持つ新しい系列としてチャートに表示されます。

構文

メトリクスと数式の参照

  • m1m2、... は位置でチャートのメトリクスを参照します(最初のメトリクス = m1)
  • f1f2、... は位置で以前の数式を参照します(最初の数式 = f1)

数式は順番に評価されるため、f2f1 を参照できますが、その逆はできません。

算術演算子

標準的な演算子で、優先順位も通常どおりです(*/+- より先に評価されます)。

m1 + m2 # Addition
m1 - m2 # Subtraction
m1 * m2 # Multiplication
m1 / m2 # Division (returns null if divisor is 0)
(m1 + m2) * m3 # Parentheses for grouping

数値と水平線

定数値を式の中で使用できます。単独の数値は、その値に水平線を描画します。

42000 # Horizontal line at 42,000
m1 * 100 # Scale a metric
m1 / 1000000 # Convert to millions
0.5 # Horizontal line at 0.5 (useful as threshold)

関数

移動平均とローリング統計

関数構文説明
smasma(series, period)単純移動平均 — 直近 N 個のデータ点にわたる算術平均
emaema(series, period)指数移動平均 — EMA_t = value_t × k + EMA_(t-1) × (1 - k)(ここで k = 2 / (period + 1))。直近の値により大きな重みを与えます
medianmedian(series, period)N 期間にわたるローリング中央値(中央の値)
sumsum(series, period)直近 N 期間にわたるローリング合計
stdstd(series, period)N 期間にわたるローリング標準偏差

累積関数

データの開始点から各点までのすべてのデータを使用する、拡張ウィンドウ関数です。

関数構文説明
cumsumcumsum(series)データの開始点からの拡張累積合計
cummeancummean(series)データの開始点からの拡張累積平均
cummediancummedian(series)データの開始点からの拡張累積中央値
cumstdcumstd(series)データの開始点からの拡張累積標準偏差
cummaxcummax(series)各点までの累積過去最高値
cummincummin(series)各点までの累積過去最低値

変化量関数

関数構文説明
percent_changepercent_change(series, period)N 期間にわたる変化率。値は小数で返されます(例: 0.20 = +20% の上昇)
diffdiff(series, period)N 期間にわたる絶対変化量: value_t - value_(t-N)

数学関数

関数構文説明
absabs(series)すべてのデータ点の絶対値
powpow(series, n)すべてのデータ点を n 乗します
loglog(series)常用対数(底 10)(非正の値には null を返します)
roundround(series, digits)値を小数点以下 N 桁に丸めます
maxmax(a, b, ...)点ごとの最大値 — 各データ点ですべての引数のうち最も高い値を返します。引数は系列または定数を指定できます(例: max(m1, m2, 0)
minmin(a, b, ...)点ごとの最小値 — 各データ点ですべての引数のうち最も低い値を返します。引数は系列または定数を指定できます(例: min(m1, m2, 100)

テクニカル指標

関数構文説明
rsirsi(series, period)N 期間にわたり Wilder の平滑化法を用いた相対力指数(0〜100)
corrcorr(series1, series2, period)直近 N 期間のウィンドウにおける 2 つの系列間のピアソンの相関係数。-1(逆相関)から +1(完全相関)の範囲の値を返します
drawdowndrawdown(series)過去最高値からの相対的なドローダウン。負の小数を返します(例: -0.30 = ATH を 30% 下回る)

リスクとリターン

関数構文説明
mean_returnmean_return(series, period)N 期間にわたる年率換算ローリング平均リターン(日次対数リターン × 365 に基づく)
realized_volrealized_vol(series, period)N 期間にわたる年率換算実現ボラティリティ(日次対数リターンの標準偏差 × √365)
sharpe_ratio_arithmeticsharpe_ratio_arithmetic(series, period)N 期間にわたるリターンの算術平均を用いた年率換算シャープレシオ
sharpe_ratio_geometricsharpe_ratio_geometric(series, period)N 期間にわたるリターンの幾何平均を用いた年率換算シャープレシオ

系列の操作

関数構文説明
shiftshift(series, period)系列を N 期間だけ右にシフトします。正の period は現在の位置に過去の値を表示します(つまり、各データ点は N 期間前の値を表示します)。負の period は左にシフトします(未来の値を表示します)
ifif(a, "op", b, then, else)条件式: 各データ点で比較 a op b を評価し、真の場合は then を、偽の場合は else を返します。op 引数は引用符付きの文字列として渡される比較演算子です: "=""!="">"">=""<""<="

移動平均

sma(m1, 7) # 7-day simple moving average of first metric
sma(m1, 30) # 30-day SMA
ema(m1, 21) # 21-day exponential moving average
median(m1, 14) # 14-day rolling median

SMA クロスオーバーの検出

f1: sma(m1, 7) # Short-term SMA
f2: sma(m1, 30) # Long-term SMA
f3: f1 - f2 # Difference (positive = short above long)

比率分析

m1 / m2 # Ratio between two metrics

過去最高値からのドローダウン

drawdown(m1) # Drawdown as negative decimal (-0.30 = 30% below ATH)

ボリンジャーバンド

f1: sma(m1, 20) # Middle band
f2: f1 + 2 * std(m1, 20) # Upper band (+2 standard deviations)
f3: f1 - 2 * std(m1, 20) # Lower band (-2 standard deviations)

期間ごとの変化量

percent_change(m1, 7) # 7-day percentage change (decimal)
diff(m1, 30) # 30-day absolute change

RSI

rsi(m1, 14) # 14-period RSI
30 # Oversold threshold line
70 # Overbought threshold line

値のクランプ

max(m1, 0) # Floor at zero (remove negative values)
min(m1, 100) # Cap at 100
max(m1, m2) # Higher of two metrics at each point

相関

corr(m1, m2, 30) # 30-day rolling correlation between two metrics

ボラティリティとリスク

realized_vol(m1, 30) # 30-day annualized volatility
sharpe_ratio_arithmetic(m1, 90) # 90-day annualized Sharpe ratio

スタイル設定

数式を追加した後、(編集モードで)凡例内の数式をクリックすると、次の項目を設定できます。

  • チャートスタイル: 線、エリア、または棒
  • : プリセットまたはカスタムから選択
  • Y 軸: 任意の軸に割り当て
  • 線の太さ塗りつぶしの不透明度
  • 表示: 表示/非表示の切り替え

永続化

数式はチャート設定とともに保存されます。チャートを「マイチャート」に保存すると、すべての数式が保持され、チャートを再読み込みしたときに復元されます。

エクスポート

数式の値は CSV および JSON のエクスポートに含まれます。各数式の列は、数式のラベルをヘッダーとして使用します。