【SQLite3】KABU+のデータに単純移動平均値を付与するSQL

PCで仕事をしている人
記事要約
  1. KABU+で提供されているCSVには単純移動平均の値がない
  2. サンプルのSQL

目次

KABU+で提供されているデータについて

N日移動平均などの値がない

株価一覧表(詳細フォーマット)の中身を見てみたのですが、25日移動平均などの値は格納されていませんでした。

そのため、足りない情報や自分が取得したい情報は既存のデータの中から、自分で算出する必要があります。

PCで仕事をしている人

【SQLite3】KABU+でデータベースを作成する際のインターフェースレイアウトを考えた

2022年12月10日

サンプルのSQL

Window関数と副問合せを組み合わせる

UPDATE TEST20_StockList
SET AVG_28D = UPKTN.IDO28
    from (SELECT 
                MEI_CODE as MEI_CD, 
                TRA_DATE as TRA_DT,
                PRICE, 
                AVG(PRICE) over 
         (PARTITION BY 
                MEI_CODE ORDER BY 
                MEI_CODE,
                TRA_DATE 
          ROWS 27 PRECEDING) as IDO28
          FROM TEST20_StockList) UPKTN
WHERE TRA_DATE = TRA_DT AND MEI_CODE = MEI_CD AND UPDATE_COUNT = 0;
禄太
解説は、割愛で、、、
注意点として、今回の移動平均の値は、28日間の平均値です。
ご自分の使いやすい平均値で算出することができますので、カスタマイズしてみてください。
修正箇所

〜(略)〜
ROWS 27 PRECEDING) as IDO28
〜(略)〜

ROW 27 の部分を、好きな数字にすればカスタマイズ可能です。
例えば、5日移動平均値を算出する場合は、以下のように記述します。

ROWS 4 PRECEDING) as IDO28