最初にAlpha Vantage社からAPIキーを取得します。
Claim your Free API Key
https://www.alphavantage.co/support/#api-key
取得したAPIキーをワークスペースにWeb資格証明として保存します。
作成するWeb資格証明の名前はAlpha Vantage、静的IDはALPHAVANTAGEとします。静的IDは、後ほど記述するPL/SQLのコード中で参照するため、同じ名前で設定します。認証タイプはURL問合せ文字列を選択します。
資格証明名はapikeyです。これはURLにCGI変数名として現れます。資格証明シークレットにAlpha Vantage社から取得したAPIキーを設定します。
URL問合せ文字列のタイプのWeb資格証明は、API呼び出しの際にURLに直接含めることもできますが、Web資格証明として設定すると、送信されたAPIキーがRESTサービスの呼び出しログに記載されなくなります。
URLに対して有効にhttps://www.alphavantage.co/を設定し、設定ミスなどで別のサイトに送信されないように制限します。
取得する株価のシンボルを指定するページ・アイテムとしてP1_SYMBOLを作成します。
STOCK MARKET APIを呼び出し、取得したデータをAPEXコレクションに保存するボタンSHOWを作成します。動作のアクションはページの送信です。
ボタンSHOWをクリックしたときに実行するプロセスを作成します。ソースのPL/SQLコードに以下を記述します。1/4くらいClaudeに書いてもらっています。
株価を表示するチャート・リージョンを作成します。ソースのSQL問合せとして以下を記述します。
select
to_date(c001, 'YYYY-MM-DD') as p_date,
to_number(c002) as p_open,
to_number(c003) as p_high,
to_number(c004) as p_low,
to_number(c005) as p_close,
to_number(c006) as p_volume
from apex_collections where collection_name = 'STOCK_ARRAY_DATA'
order by p_date asc
リージョンの属性を開き、チャートのタイプに株価を選択します。
設定の時間軸タイプを有効とし、ズームとスクロールにライブを選択します。
シリーズを選択し、名前をStock Priceとします。ソースの位置にリージョン・ソースを選択します。
株価向けのチャート・タイプなので、列のマッピングはそのものズバリな列があります。ラベルはP_DATE、オープンはP_OPEN、低はP_LOW、高いはP_HIGH、閉じるはP_CLOSE、出来高はP_VOLUMEです。
y軸を選択します。値はドルなので小数点を2とします。その他に書式スケールを自動、ベースライン・スケールを最小とします。
もっと調整できる項目はありますが、とりあえず最低限の設定はできました。
アプリケーションを実行すると以下のように動作します。
今回の記事は以上になります。
作成したAPEXアプリケーションのエクスポートを以下に置きました。
https://github.com/ujnak/apexapps/blob/master/exports/sample-stock-chart.zip
Oracle APEXのアプリケーション作成の参考になれば幸いです。
完