Atlas Support
Research開発・技術執筆・編集:

Atlas Terminalの設計:数値の出典と計算方法

AIが示した財務分析の結果を使うには、元になった資料や計算方法を確認する必要があります。Atlas Terminalは、金融データを取得する際に、その出典や対象期間も記録するソフトウェアです。この記事ではv0.7.0をもとに、取得した数値を後から確かめられるようにするための仕組みを解説します。

Atlas Terminalの設計:数値の出典と計算方法
テーマ
金融データの出典と計算方法の確認
対象バージョン
Atlas Terminal v0.7.0
参照資料
公開ソースコード・仕様書

比較するデータの期間をそろえる

企業の財務情報や経済指標は、提供元によって形式や更新頻度が異なります。例えば「売上高」には、年間の実績、四半期ごとの実績、期初からの累計があります。期間が違う数値をそのまま比べると、企業の実態を見誤るおそれがあります。

Atlas Terminalは、企業が公表した年間・四半期・期初からの累計の数値を分けて扱い、対象期間の開始日・終了日と提出書類を照合します。年間の数値から9か月分の累計を引いて第4四半期の数値を補うことはせず、公表された数値を使います。

MCP、コマンドライン、Python SDK、HTTP APIのどこから利用しても、データの取得や期間の選択、計算には同じ処理を使います。

数値の出典を、元の資料で確認する

取得したデータには、出典のURL、取得時刻、元の資料の該当箇所を記録します。JSONやXMLなどの形式で提供されるデータも、どの項目から数値を取り出したか確認できます。

MCPでは、出典を識別するIDを使って、必要なときに詳しい情報を取得できます。AIに渡す情報を簡潔にしつつ、後から元の資料を確認できるようにしています。

取得したファイルには、内容の一致を確認するためのハッシュ値も記録します。これは同じ内容のファイルかどうかを調べるための情報です。数値の正確性や、過去の特定の時点で公開されていたことを証明するものではありません。

計算式と、計算に使った数値を残す

計算した財務指標には、計算式に加えて、計算に使った公表値、単位、対象期間、出典を記録します。例えばフリーキャッシュフローは、営業キャッシュフローから有形固定資産の取得支出を差し引いて算出します。企業が独自に調整した指標とは定義が異なる場合があるため、計算方法を確認することが大切です。

同じ期間のデータがそろわない場合や、分母がゼロの場合は計算しません。前年同期比を求める際も期間を照合し、前年の値がゼロ以下なら計算対象から外します。企業間の比較では、各社のデータがそろう同じ期間を選びます。

取得できなかった値をゼロに置き換えると、「売上がない」のか「売上を確認できない」のかが分からなくなります。Atlas Terminalは、データが不足していることや計算できない理由を示し、後の分析でもその違いを確認できるようにしています。

データを扱う際の確認事項
確認することAtlas Terminalでの扱い
対象期間年間・四半期・期初からの累計を区別する
計算方法計算式と、計算に使った公表値を記録する
データの不足ゼロに置き換えず、不足していることを示す
企業間の比較各社のデータがそろう同じ期間を選ぶ

取得した日と、数値が表す時期を区別する

今日取得した統計でも、数値が表しているのは先月の状況かもしれません。資料を取得した日と、データが対象とする時期は分けて確認する必要があります。

Atlas Terminalでは、資料を取得してからの経過時間や、取得結果に含まれる最新の値が何日以降のものかといった条件を指定できます。欠損値や計算で求めた値を含めてもよいかも指定でき、条件を満たさない場合は「QUALITY_NOT_MET」というエラーと、その理由を返します。

この機能は、取得したデータが指定条件を満たすかを確認するためのものです。元の数値の正確性や分析への適性を判定するものではなく、経過時間の条件を指定してもデータが自動で更新されるわけではありません。

過去の分析には、当時の情報を使う

経済統計や企業の財務情報は、公表後に改定されることがあります。過去の投資判断を再現するなら、当時入手できた情報だけを使う必要があります。現在取得できる数値には後日の改定が含まれる可能性があるため、公表時刻や改定履歴の確認が欠かせません。

Atlas Terminalは、当時入手できたデータをそろえた、検証済みのデータベースを提供していません。リスク分析機能では、利用者がデータに付けた「いつから利用できたか」という日時の形式や整合性を確認しますが、その日時に実際に公表されていたかまでは確認できません。

リスク分析では、二つの推定方法を用意

v0.7.0には、株式ポートフォリオのリスクを分析する実験段階の機能もあります。一つは、多数の銘柄の属性とリターンを使い、市場全体や業種などに共通する値動きの要因を推定する方法です。もう一つは、銘柄と要因のリターンを時系列で比べ、各銘柄がその要因から受ける影響を推定する方法です。

これらの推定結果から、ポートフォリオ全体のリスク、各銘柄や要因がリスクに与える影響、ベンチマークとの差を分析します。JSON、CSV、読み取り専用のSQLiteなどに対応しており、必要な株価や過去の財務データは、利用権限を確認したうえで利用者が用意します。

公開デモは架空の銘柄データを使って、分析の流れを確認するものです。実際の相場でどの程度正確にリスクを予測できるかについては、別途検証が必要です。

デモで、データ取得から出典の確認まで試す

公開しているデモでは、MCPでAtlas Terminalに接続し、金利と為替参照レートを取得します。その後、取得結果に付いたIDを使って、元の資料の情報を確認します。標準のデモと録画には架空データを使っているため、そこで表示される数値は実際の相場を表していません。また、録画の長さは処理速度を示すものではありません。

実際に公開されているデータを取得する手順も掲載しています。分析に使う際は、取得日だけでなく、データの対象日、単位、出典も確認してください。

検証状況をまとめた資料には、確認できたことと、まだ確認できていないことを分けて記載しています。実データを継続して取得できるか、AIが調査を最後まで進められるかといった点は、今後の検証課題です。

導入方法とソースコード

v0.7.0を利用するには、Python 3.12以降が必要です。導入方法はREADMEとデモの手順をご覧ください。コードはApache-2.0ライセンスで公開しています。データや関連ソフトウェアについては、それぞれの提供元の利用条件をご確認ください。

v0.7.0のソースコードデータ取得のデモGitHub Issuesで改善を提案するAtlas Terminalの公開のお知らせ