Torus について
Torusは、ClaudeまたはCodexを使う株式アナリスト、ポートフォリオマネージャー、個人投資家向けのローカル優先のリサーチメモリーです。出典付きの主張、投資テーゼ、企業間の関係をバージョン管理されたグラフに結び、提出書類やニュースの影響を追跡します。
主な機能
- 01出典付きの主張と投資テーゼを保存
- 02企業の供給元・顧客・競合を関連付け
- 03SEC提出書類やニュースの影響を分析
- 04アラート、調査履歴、スコアカードを追跡
- 05ローカルSQLiteのリサーチグラフを探索
活用シーン
- 01過去のテーゼを踏まえて企業調査を続ける
- 02提出書類が投資判断に及ぼす影響を評価する
- 03古い主張や出典の弱い主張を監査する
- 04市場に照らしてテーゼの結果を振り返る
MCP 対応
MCPサーバーはClaudeとCodexに、リサーチメモリーと分析ツールを提供します。検索、主張の記録、提出書類の比較、アラート、スコアカードなどを利用でき、`torus setup`で対応クライアントを設定できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx torus-kgTORUS_HOMEFolder for the research graph and caches (default ~/.torus)TORUS_TOOLSETWhich tools to expose: analyst hides queue and maintenance tools (default full)TORUS_CAPTURE_MODEHow eagerly research is recordedローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
45掲載時のツール一覧 · 6 日前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| text | string | いいえ | ユーザーの質問または企業名(ダイジェストのみの場合は空欄にします) |
詳細
Torus
Claude Code、Claude Desktop、Codex 向けの株式調査メモリーです。 Torus は、株式調査のためのメモリーを Claude に提供します。回答する前に、Claude は企業についてすでに把握している内容を確認できます。あなたの投資仮説、その根拠となる出典付きの事実、企業のサプライヤー、顧客、競合他社、そして見送ったアイデアです。新しい調査は以前の調査を踏まえて進み、新たな事実はすべて出典とともに保存されます。新たな SEC 提出書類やニュース記事が投資仮説を脅かすと、Torus が通知します。デスクトップへのリアルタイム通知に加え、メール、Slack、Discord、ntfy による日次または週次のダイジェストでも知らせます。

Claude に 「NVIDIA は今も供給が制約要因になっていますか?」 と尋ねると、ゼロから始めるのではなく、すでに導き出した結論を踏まえて回答します。Torus が管理する内容は次のとおりです。
- カバーしている企業と、サプライヤー、顧客、競合他社といった企業間のつながり
- 企業に関する主張と、それぞれの出典(10-K、決算説明会、記事など)
- あなたの投資仮説:強気か弱気か、その根拠となる主張、そして仮説を覆す要因
- 二度と調査しないようにする、見送ったアイデア
10-K、10-Q、8-K、またはニュース記事が届くと、Torus はどの投資仮説に関係するか、どのサプライヤーや顧客とのつながりを通じて関係するか、どの程度重要かを判断します。また、調査の信頼性を保つため、古くなった情報、情報源が1つしかない主張、懐疑的な立場からの見解などを確認し、あなたの判断が市場に対してどのような結果になったかも追跡します。
アナリスト、ポートフォリオマネージャー、熱心な個人投資家向けに構築されています。
- モデルとサブスクリプションはあなたのものです。 Torus が LLM を直接呼び出すことはありません。推論は Claude が行い、より低コストの Haiku サブエージェントが記録管理を担当します。
- ローカルファーストです。 調査内容は
~/.torus内の単一の SQLite ファイルに保存されます(TORUS_HOMEで変更できます)。 - 時間を考慮します。 すべての事実について、それがいつ有効だったか、いつ信じていたかを記録するため、過去の任意の日付に自分がどう考えていたかを確認できます。何も削除されません。訂正は新しいバージョンとして保存されます。
Torus は調査用メモリーであり、金融アドバイスではありません。 各リリースの内容については、CHANGELOG.md をご覧ください。
アプリを選ぶ
Torus は 3 つのアプリで動作します。どのアプリもお使いのマシン上の同じグラフを共有するため、あるアプリで調査を始めて、別のアプリで続けられます。
| Claude Desktop | Codex (desktop app and CLI) | Claude Code | |
|---|---|---|---|
| Claude が回答する前に以前の調査内容を呼び出す | はい(brief。サーバーの指示によって実行) | はい(brief。サーバーの指示によって実行) | はい。プロンプトのたびに自動実行(フック) |
| 調査中にソースと主張を記録する | はい(リアルタイムで取得) | はい(リアルタイムで取得) | はい(バランスよく取得し、キュレーターが不足分を補完) |
| 各ターンの後に「Torus が記録しました...」というレシートを表示する | はい | はい | はい |
| ワークフロー:オンボーディング、アラートのレビュー、検証、メモなど | 「+」メニュー内のプロンプト | Torus スキル | /torus: コマンド |
| 申請書類とニュースのアラート、監査、スコアカード、メモ、エクスプローラー | はい | はい | はい |
| デスクトップ通知とダイジェスト(アプリではなくウォッチャーから届きます) | はい | はい | はい |
| バックグラウンドの Haiku サブエージェント(マッパー、キュレーター、検証役) | いいえ。同じ手順がチャット内で実行されます | いいえ。同じ手順がチャット内で実行されます | はい |
Claude Desktop
pip install torus-kg
torus setup
PyPI 上のパッケージ名は torus-kg で、インストールされるコマンドは torus です。torus setup は、SEC が必要とするメールアドレスを尋ね、SEC のティッカーリストをダウンロードし、Claude Desktop の設定に Torus を追加します(.bak コピーを作成し、ほかのサーバーには手を加えません)。さらに、申請書類ウォッチャーをスケジュールします。Claude Desktop を再起動し、「+」メニューの 企業をオンボーディング プロンプトを、いくつかのティッカーで試してください。
Codex
こちらも同じ 2 つのコマンドを使います。torus setup は [mcp_servers.torus] を ~/.codex/config.toml(または $CODEX_HOME)に追加し、Torus スキル(torus-research、torus-onboard、torus-review など)を ~/.codex/skills にインストールします。すでに [mcp_servers.torus] エントリを自分で作成している場合、セットアップではそのまま保持されます。Codex を再起動して、ティッカーのオンボーディングを依頼してください。
Claude Code
以下の使い始める(約 5 分)をご覧ください。torus setup は 2 つの /plugin コマンドも表示します。
torus setup は見つかったアプリを設定します。--claude-desktop または --codex を渡すと、見つからない場合でもそのアプリを設定します。また、--no-codex / --no-claude-desktop を渡すと、いずれかのアプリをスキップします。torus doctor は各アプリのエントリとサーバーが起動することを確認し、torus doctor --fix は可能な範囲で修復します。
見るだけですか? torus demo は、独自のフォルダー TORUS_HOME/demo に小さなサンプルグラフ(NVIDIA、TSMC、Micron、AMD の投資仮説、TSMC の申請書類に関するアラート、semis スターターパック)を作成し、エクスプローラーで開きます。ご自身のグラフには影響せず、サンプル調査の各項目には [demo] と記されています。
仕組み
これが役立つ理由。 チャットで行った調査は、たいてい捨てられてしまいます。次のセッションはゼロから始まり、新しい情報がすでに導き出した結論と結び付くこともありません。Torus は最終レポートだけでなく、調査で役立つ部分を保持します。
| Torus がない場合 | Torus がある場合 |
|---|---|
| 毎回のセッションで同じ提出書類を読み直し、同じ事実を再発見します | 各セッションは、以前のテーゼ、主張、除外したアイデアを踏まえて始まります |
| 新しいツールは何もない状態から始まるため、何週間も役に立ちません | /torus:onboard は、企業の 10-K からサプライヤー、顧客、競合他社を数分でマッピングします |
| レポートには「TSMC の生産能力が制約要因」と書かれていますが、その根拠は示されません | すべての主張が、出典、引用文の原文、確信度、その主張が正しかった日付にリンクされています |
| TSMC の提出書類が届いても、NVIDIA に関する見解を揺るがすことに誰も気付きません | 影響分析がサプライヤーと顧客のリンクをたどり、影響を受けるテーゼにアラートを出します |
| 定例の提出書類が届くたびに通知されるため、確認しなくなります | アラートは、イベントの種類と、テーゼを覆す条件としてあなたが挙げた内容に合致するかどうかを考慮します |
| 150 ページの 10-K にある変更点が埋もれてしまいます | Torus は、前回の提出以降に追加、削除、言い換えられたリスク要因の文を一覧表示します |
| 古い結論が上書きされ、誤った結論が残り続けます | 変更はすべてバージョン管理されます。監査で古い情報や出典が不十分な情報が見つかり、取り消しても履歴は保持されます |
| 行き詰まったアイデアが再び検討されます | 除外したアイデアもテーゼとあわせて呼び出されます |
| 強い確信を持って出した判断が実際に正しかったか、誰も確認しません | スコアカードが各テーゼとその銘柄の推移を追跡し、あなたの確信度の調整具合を測定します |
はじめに(約 5 分)
Python 3.11 以降と Claude Code が必要です。
1. torus コマンドをインストールします。 プラグインのフックと MCP サーバーがこのコマンドを実行するため、この手順は必須です。
pip install torus-kg
2. セットアップします。
torus init --refresh-reference --contact [email protected] # SEC ticker list (the SEC asks for an email)
torus config set sec_contact [email protected] # used when reading and watching filings
torus doctor # check that everything is in order
3. Claude Code にプラグインを追加します。
/plugin marketplace add sekhar14/torus
/plugin install torus@torus
キャプチャモードを尋ねられます。
| モード | 調査中に Claude が記録する内容 | 後からキュレーター(Haiku)が記録する内容 |
|---|---|---|
balanced(デフォルト) | テーゼ、出典付きの重要な主張、除外したアイデア | 補足の主張、追加の出典、リンク |
live | すべて | 見落とした内容 |
curator | テーゼと除外したアイデア | その他すべて |
4. 調査対象を Torus に伝えます(推奨)。Claude Code で実行します。
/torus:onboard NVDA AMD TSM AVGO
または、ポートフォリオやウォッチリストをエクスポートしたファイルから実行します。torus onboard --file portfolio.csv(ticker または symbol 列を含む任意の CSV ファイル)を実行し、その後 /torus:onboard を実行してマッピングを完了します。Torus は企業を追加して SEC 提出書類を監視し、適合するスターターパックを提案します。また、Haiku サブエージェントが各企業の最新年次報告書をもとに、出典となる提出書類を引用しながら、サプライヤー、顧客、競合他社、顧客集中度をマッピングします。
5. 監視機能を実行し続けます。
torus schedule install # checks filings, news and prices every hour
Windows ではタスク スケジューラ、macOS では launchd、Linux では cron を使用します。
6. いつもどおりに調査します。 例:「NVIDIA はまだ供給制約を受けていますか? TSMC の CoWoS 計画を確認してください。」 次に NVIDIA について言及したとき、Claude は調査を始める前に、以前のテーゼ、主張、除外したアイデアを確認します。各ターンの後、Torus は記録した内容(「このターンでテーゼ 1 件、主張 3 件、出典 2 件を記録しました」)を知らせます。不要な記録は /torus:undo で取り消せます。
できること
コマンドを覚える必要はありません。普段の言葉で尋ねれば、Claude が適切な Torus ツールを使います。
| あなたの発言 | 起きること |
|---|---|
| 「NVIDIA はまだ供給不足ですか?」 | Claude は以前の NVIDIA 調査から始め、新たな主張や情報源、更新されたテーゼを記録します |
| 「TSMC の最新の 20-F では、リスク要因にどんな変更がありましたか?」 | Torus が、昨年の提出書類と照らし合わせて、新たに追加された文、削除された文、言い換えられた文を一覧表示します |
| 「この決算説明会の議事録を Torus に追加して」 | 議事録が、関連するテーゼに紐づいた出典付きの主張になります |
| 「自分のテーゼに影響するニュースはありますか?」 | 未確認のアラートが表示され、それぞれに根拠となるパスが添えられます。アラートはテーゼごとに判定されます |
| 「今週は何がありましたか?」 | ダイジェストに、テーゼごとの新しいアラート、ステータスと確信度の変化、期限が近づいているテーゼ、スコアカードの動きが表示されます |
| 「TSMC のアリゾナ工場が 1 年遅れたら、自分のテーゼにどんな影響がありますか?」 | その出来事が影響を及ぼすテーゼと、どのリンクをたどるか、影響の方向が表示されます |
| 「Micron のテーゼの弱点を探して」 | 懐疑派のサブエージェントが反対材料を調査します。提案されたリスクを採用するかどうかは、あなたが承認します |
| 「自分の調査はまだ最新ですか?」 | 監査では、期限切れの前提、想定期間を過ぎたテーゼ、単一の情報源に基づく主張、矛盾が見つかります |
| 「これまでの予測はどうでしたか?」 | 各テーゼの方向性に沿った SPY とのリターン、結果、確信度の較正状況が表示されます |
| 「共有するために、NVIDIA のテーゼをまとめて」 | すべての主張の出典をたどれるメモが作成されます |
| 「AMD について今記録した内容を元に戻して」 | 該当する記録が撤回またはアーカイブされ、履歴には残ります |
Claude Code のコマンド
| コマンド | 内容 |
|---|---|
/torus:onboard | 企業の調査を開始します。企業をウォッチし、スターターパックを追加し、10-K から企業間のつながりをマッピングします |
/torus:status | リスクのあるテーゼ、未確認のアラート、最近の変更、グラフの健全性を表示します |
/torus:review | 未確認のアラートを判定します。その出来事はテーゼを裏付けたか、弱めたか、崩したかを確認します |
/torus:ingest | 提出書類、議事録、PDF、ページを読み込み、出典付きの主張にします。または、前回の提出書類からの変更点を確認します |
/torus:whatif | 仮定上の出来事がどのテーゼに、どのような影響を及ぼすかを確認します。何も記録されません |
/torus:challenge | 悪魔の代弁者となるサブエージェントがテーゼを厳しく検証し、リスクとトリガーを提案します |
/torus:audit | 期限切れ、出典が乏しい、または矛盾している調査と、想定期間を過ぎたテーゼを見つけます |
/torus:scorecard | テーゼがベンチマークに対してどうだったか、確信度が適切に較正されているかを確認します |
/torus:memo | テーゼを出典付きのメモ(Markdown および HTML)にまとめます |
/torus:undo | 最近のセッションで記録された内容を確認し、任意の内容を元に戻します |
/torus:distill | Haiku のキュレーターに、過去のセッションで得られた知見をグラフに追加させます |
/torus:explore | ビジュアルグラフエクスプローラーを開きます |
これらの背後では、MCP サーバーが brief、recall、record_claim から
filing_diff、whatif、digest、scorecard まで、45 個のツールを Claude に提供します。Claude Desktop と Codex では、デフォルトでそのうち 33 個(analyst ツールセット)が表示されます。キューと低レベルのグラフツールは非表示です。すべてのツールを表示するには、サーバーの env で
TORUS_TOOLSET=full を設定してください。
Claude Desktop と Codex の詳細
どちらのアプリも Claude Code プラグインを読み込まないため、MCP サーバーがワークフロー自体を担います。TORUS_HARNESS が claude-desktop または codex の場合(torus setup が設定します):
- 指示。 サーバーはモデルに対し、企業を調査する前にユーザーの質問を使って
briefを呼び出すこと、調査しながら情報源と主張を記録すること(後からチャットを読むキュレーターがいないため、キャプチャモードはlive)、各ターンの最後に「Torus recorded ...」という記録完了メッセージを出すことを伝えます。Codex は OpenAI モデルを実行するため、文言は特定のモデルに依存しません。 - ワークフロー。 各
/torus:コマンドは、同じソースsrc/torus/workflows/から生成された MCP プロンプト(Claude Desktop の「+」メニュー)であり、Codex スキルでもあります。Claude Code のサブエージェントが行うステップ(10-K から企業をマッピングする、反対意見を論じるなど)は、代わりにチャット内で実行されます。 - このチャットを保存。 キュレーターがいないため、このチャットを Torus に保存プロンプト(または「このチャットを Torus に保存して」と尋ねること)で、チャットで見つけたもののまだ記録していない内容を記録します。
- 取り消し。 記録はチャットごとに追跡されるため、「何を記録した?」「それを取り消して」は Claude Code と同じように機能します(
recent_records、undo_records)。
ウェブブラウザー上の Claude、ChatGPT、Copilot は Torus を使えません。これらが接続できるのは公開アドレス上の MCP サーバーだけですが、Torus はお使いのマシン上で動作するためです。
手動で設定する場合。 torus setup がこれらを設定します。Claude Desktop では(Settings > Developer > Edit Config。Windows の場合は %APPDATA%\Claude\claude_desktop_config.json、macOS の場合は ~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"torus": {
"command": "/full/path/to/torus",
"args": ["serve"],
"env": { "TORUS_HARNESS": "claude-desktop" }
}
}
}
Codex では(~/.codex/config.toml):
[mcp_servers.torus]
command = "/full/path/to/torus"
args = ["serve"]
[mcp_servers.torus.env]
TORUS_HARNESS = "codex"
フルパスを指定してください(Windows では where torus、macOS および Linux では which torus)。デスクトップアプリからはシェルの PATH が見えません。TORUS_HOME を設定する場合は、すべてのアプリで同じグラフを共有できるよう、env の下に追加してください。その他の env 設定は、TORUS_CAPTURE_MODE(live、balanced、curator)と TORUS_TOOLSET(analyst、full)です。ほかの MCP クライアント(Cursor、VS Code など)でも同じエントリーで動作する可能性がありますが、テストはされていません。
SEC 提出書類を読む
Torus は Claude 向けに EDGAR から提出書類を読み込むため、調査では要約ではなく一次情報源が引用されます。
- セクション別。 10-K、10-Q、20-F は項目ごとに分割されるため、Claude は
business、risk_factors、mdna、legal、market_risk、financials(または項目番号)だけをページごとに読むことができます。同じ様式の過去の提出書類も利用できます。 - 変更点。 Torus はセクションを前回の提出書類の同じセクションと比較し、新規、削除、言い換えのあった文を返します。書き換えの大きいものから順に表示されます。
- 引用付き。 提出書類に基づく主張には、根拠として提出書類の URL(種別
filing)と逐語的な引用が付与され、監査と検証で一次情報源としてカウントされます。
提出書類は一度ダウンロードされ、TORUS_HOME/sources/edgar にテキストとしてキャッシュされます。閲覧するには sec_contact の設定が必要です。SEC はすべてのクライアントに連絡先メールアドレスを求めています。
ビジュアルエクスプローラー
torus explore # the whole graph
torus explore NVDA --hops 2 # NVIDIA and everything within two links
torus explore --no-open # write the file without opening a browser
単体で動作する HTML ファイル(デフォルトは ~/.torus/explorer.html)を 1 つ作成し、ブラウザーで開きます。オフラインで動作し、インストールも不要なので、ファイルを共有できます。

スクリーンショットでは、semis スターターパックと、説明用の [demo] リサーチ(scripts/seed_demo.py)を使用しています。上の画像では、[demo] の NVIDIA に関する投資仮説が選択されています。TSMC の 8-K によってこの投資仮説に警告が発生し、パネルにはその理由が表示されています。投資仮説には TSMC に関するトリガーがあり、前提となる主張には TSMC が明記されています。また、TSMC は投資仮説の対象である NVIDIA に製品を供給しています。スコアの算出方法も表示されています。グラフ上のつながりは強く、8-K の項目の重要度は低い(8.01、「その他の事象」)ものの、提出書類の文言が投資仮説のトリガーと一致するため、スコアが引き上げられています。
- ノード: 企業は青い円で表示され、色が濃いほど、その企業についてリサーチがあることを示します。投資仮説はステータスに応じて色付きの四角形で表示されます(緑は有効、琥珀色はリスクあり、赤は破綻)。イベントはひし形で表示され、未解決の警告がある場合は赤くなります。
- 線: 実線の矢印は 供給している ことを、破線は 競合している ことを示し、太い赤線はイベントから投資仮説への警告を示します。薄い線はスターターパックに由来し、まだリサーチで確認されていません。
- クリック: 任意のノードをクリックすると詳細が表示されます。企業の場合は、関連項目、投資仮説、情報源付きの最近の主張、除外されたアイデアが表示されます。投資仮説の場合は、その根拠、トリガー、履歴、警告と、それぞれの理由を示す経路が表示されます。
- 移動: ノードをドラッグし、スクロールしてズームします。背景をドラッグすると画面を移動できます。Fit を押すと表示がリセットされます。ノードをダブルクリックすると固定が解除されます。
- 名前またはティッカーで 検索 できます。フィルターを使うと、投資仮説、イベント、競合関係のリンク、またはスターターリンクを非表示にできます。
- 過去の状態を表示: 下部のスライダーをドラッグすると、過去の日付時点でのグラフ(その時点で Torus が把握していた情報と、各投資仮説のステータス)を確認できます。または Replay を押すと、リサーチが進んでいく様子を再生できます。それ以降に廃止されたリンクは再表示されません。
- ノードまたは日付へのリンク: ファイルのアドレスに
#select=と名前またはティッカーを追加すると、選択したノードを表示して開けます。例:explorer.html#select=NVDA。#at=2026-09-20を追加すると、その日時点のグラフが表示されます。&で組み合わせることもできます:#select=NVDA&at=2026-09-20。

9 月 20 日時点の同じデモグラフです。スターターパックはまだ追加されておらず、AMD の投資仮説は有効なままで(10 月に破綻)、TSMC の警告が発生したばかりです。
このファイルはスナップショットです。新しいリサーチの後に torus explore を再実行してください。
スターターパックとグラフツール
スターターパックを使うと、広く報告されている関係性のネットワークが最初から用意され、影響分析に活用できます。各リンクは、リサーチで確認されるまでスターターリンクとしてマークされ、リサーチで記録されたリンクを上書きすることはありません。
| パック | 対象 | 企業数 | リンク数 |
|---|---|---|---|
semis | 半導体製造装置、ファウンドリー、メモリー、半導体設計企業、およびその大口顧客 | 23 | 52 |
software | ハイパースケールクラウドと、その上で動作するソフトウェア。データベース、アプリ、オブザーバビリティ、セキュリティ | 19 | 34 |
banks | 米国の大手銀行、カードネットワークとカード発行会社、決済、銀行テクノロジー | 18 | 25 |
energy | 総合エネルギー大手、米国の生産企業、油田サービス、精製会社、パイプライン、LNG | 19 | 26 |
pharma | 製薬会社とバイオテクノロジー企業、研究機器サプライヤー、卸売業者、薬剤給付管理会社 | 20 | 25 |
torus graph packs # the packs above
torus graph seed software # add one (safe to repeat)
torus graph neighbors TSM --hops 2 # links around a company
torus graph paths ASML AMD # how two companies connect: ASML -SUPPLIES-> TSMC -SUPPLIES-> AMD
Claude は MCP を通じて同じツール(neighbors、find_paths、impact、seed_starter_pack)を利用できます。リサーチによってスターターリンクが再記録されると、そのリンクは独自のリンクになります。
ウォッチャー:提出書類やニュースをアラートに
torus watch run は1回確認します。
- SEC EDGAR:ウォッチ対象企業の新しい提出書類(8-K、10-Q、10-K、20-F、6-Kなど)。新しい10-K、 10-Q、20-Fのイベントでは、前回の提出書類からリスク要因がどのように変わったかも表示します (「リスク要因:新規12件、表現変更8件、削除3文。新規:…」)。
- RSS/Atomフィード:グラフ内の企業に言及している項目。
- 価格:スコアカード上の投資仮説について、日次終値。
新しい項目はそれぞれイベントになります。次にTorusがグラフ(サプライヤー、顧客、競合他社)をたどり、影響を受ける可能性のある投資仮説にアラートを作成します。/torus:review で確認してください。確認処理の最後に、強い新規アラートはデスクトップ通知として表示され、予定されている場合は定期ダイジェストが送信されます。
torus watch add NVDA # optional: onboarded companies and open theses' companies are watched automatically
torus feed add https://example.com/semis.rss --name "Semis wire"
torus watch list # what is watched, and why
torus watch run # one pass; exit code 1 if any source failed
torus schedule install # run it every hour; --every 6 for every 6 hours
torus schedule status # or: torus schedule remove
企業やフィードを初めて確認するときは、過去7日間をさかのぼります。その後は、新しい項目のみを処理します。
重要なアラート
定期的なサプライヤーの10-Qで中断されるべきではありませんが、破産の提出書類なら話は別です。各アラートのスコアは、グラフスコア × 重要度 × (1 + トリガーとの一致度) で算出されます。
- グラフスコア:イベントに関わる企業が投資仮説とどれだけ密接につながっているか。投資仮説の対象企業、前提条件に挙げられた企業、または1、2段階先のサプライヤー、顧客、競合他社が該当します。
- 重要度:イベントの種類です。8-Kの項目には重み付けがあり(破産1.0、業績0.9、重要な契約0.8、株主投票の結果0.1)、10-Qは0.4です。ニュースの表現によって重要度が上がったり、上限が設定されたりします(「輸出規制」0.9、「買うべき株3選」0.2)。自分で追加したイベントは、重要度を最大として扱います。
- トリガーとの一致度:イベントの表現が、投資仮説のトリガーのいずれかにどの程度合致するかです。そのため、*「TSMCがCoWoSの拡張を延期」というイベントは、トリガーが「CoWoSの生産能力が伸び悩む」*である投資仮説のスコアを押し上げます。見出しで使われるような表現でトリガーを記述してください。
各アラートにはスコアの内訳と、判定しやすいラベルが表示されます。強(1.0以上。投資仮説の対象企業に関する重要度最大のイベントと同等のスコアまで)、中(0.5以上)、または弱です。調整するには:
torus alerts list # open alerts and how each scored
torus alerts stats --days 90 # share judged related, by source, form, hops, materiality
torus alerts threshold 0.3 # global minimum score (default 0.2)
torus alerts threshold 0.5 --thesis ID # per thesis
torus alerts mute ID --entity TSM --form 10-Q # no alerts on this thesis for TSMC 10-Qs
torus alerts mutes # list mutes; torus alerts unmute MUTE_ID
同じ種類の無関係なアラートが繰り返し届く場合、/torus:review はミュートを提案します。
届くアラート
ウォッチャーは1時間ごとに実行されますが、次にチャットを開いたときまでアラートが見られなければ意味がありません。Torusは2つの方法で通知します。
デスクトップ通知
torus watch run が強アラートを生成すると、通知が届きます。
Torus:NVIDIAのデータセンター成長は供給に制約される、強いアラート TSMCの8-K:CoWoSの生産能力拡大が延期(ほか1件)
- 投資仮説ごとに通知は最大1件で、1回の処理につき最大3件です。影響を受ける投資仮説がそれ以上ある場合、3件目に残りをまとめます。
- 過去24時間以内のアラートのみが対象なので、アップグレードしたり通知を有効にしたりしても、古いアラートが再通知されることはありません。
- Windowsではトースト通知、macOSでは通知センター(
osascript)、Linuxではnotify-sendを使います。追加のインストールは不要です。Linuxではcronジョブがデスクトップセッションを自動で検出します。
torus notify test # check that notifications show up on this machine
torus config set notify moderate # strong (default), moderate or off
torus watch run --no-notify # one pass without notifications
torus doctor は、プラットフォームの通知ツールが利用可能か確認します。
ダイジェスト
torus digest は指定した日付以降に起きたことを、緊急度の高い順にまとめます。
- 新しいアラート:投資仮説ごとにまとめ、強さ、スコア、リンク、判定済みかどうかを表示
- 投資仮説の変更:ステータスの変更と、10ポイント以上の確信度の変化
- 期限が近い項目:期間を過ぎた未解決の投資仮説、または30日以内に期限を迎える投資仮説
- 調査の健全性:監査件数と、重要度の高い指摘の上位
- スコアカード:各投資仮説の方向性に沿った、それ以降の大きな変動
- アクティビティ:記録された主張、投資仮説、イベント
torus digest # the last day, as Markdown and HTML in TORUS_HOME/digests
torus digest --since 2w --open # 12h, 1d, 2w or a date (YYYY-MM-DD); open the HTML
torus digest --json # the same data as JSON
どのアプリでも「今週何があった?」と尋ねると、Claudeがdigestツールを呼び出します。
ダイジェストの送信
送信先を設定するまで、何も送信されません。設定したらスケジュールを選びます。1 時間ごとの監視処理が、送信時刻になるとダイジェストを送るため、別のスケジュールタスクは必要ありません。
torus config set digest daily # off (default), daily or weekly
torus config set digest_hour 8 # local time (default 8)
torus config set digest_weekday mon # for weekly (default mon)
Webhook(Slack、Discord、ntfy、または JSON を受け取るサービス):
torus config set digest_webhook https://hooks.slack.com/services/...
torus config set digest_webhook https://ntfy.sh/your-private-topic # push to your phone with the ntfy app
形式はアドレスによって決まります。Slack にはプレーンテキストが、Discord と ntfy には Markdown が送られ、それ以外の URL にはダイジェストが JSON で送られます。セルフホストの ntfy サーバーでは、digest_webhook_format ntfy を設定してください。長いダイジェストはセクションの途中で切らず、完全版ファイルへのリンクを添えて省略されます。Webhook URL には秘密のトークンが含まれるため、Torus ではマスクして表示され(https://hooks.slack.com/.../AbCd)、torus export からは除外されます。
メール:Gmail を例として、自分の SMTP サーバー経由で送信します。
torus config set digest_email_to [email protected]
torus config set smtp_host smtp.gmail.com
torus config set smtp_user [email protected]
torus digest email-password # asks for the password (for Gmail, an app password)
パスワードはデータベースに保存されません。torus digest email-password を実行すると、あなただけが読み取れるファイル TORUS_HOME/secrets/smtp_password に保存されます。または、代わりに TORUS_SMTP_PASSWORD を設定できます。Torus は暗号化された接続でのみ送信します。ポート 587(デフォルト)では STARTTLS、ポート 465 では TLS を使用します。
torus digest test-send # a short test message to each destination
torus digest --send # send now: everything since the last digest sent
新しい情報がないダイジェストは送信されません(digest_send_empty on を設定すると送信されます)。torus doctor では、スケジュール、ダイジェストの送信先、最終送信日時、最後に発生したエラーを確認できます。
リサーチの信頼性を保つ
- 監査(
torus audit、/torus:audit):有効期限を過ぎた前提、期限を過ぎた、または 90 日間変更されていないテーゼ、非開示資料以外のソースが 1 つしかない前提や出典のない意見に基づく前提、同じ企業に関する矛盾の可能性がある主張、撤回された主張に基づく推論、そしてアラートが依存しているもののリサーチで確認されていない初期リンクを検出します。Claude は検出結果を一緒に確認し、同意した項目を修正します。ターミナルでは、重要度の低い同種の検出結果が多数続く場合(たとえば、パックのシード後に初期リンクがすべて該当する場合)、最初の 3 件以降はまとめて表示されます。すべて表示するにはtorus audit --allを実行します。 - 期限は日付です。 テーゼの期限(「12m」、「18 months」、「FY2026」、「Q3 2026」、「2027-06-30」)は期限日として解釈されるため、監査とスコアカードで期限が到来したかどうかを把握できます。
- 異議申し立て(
/torus:challenge):Torus はテーゼの弱点(根拠の薄い前提や期限切れ間近の前提、言及されていない強いサプライヤーまたは顧客とのつながり、発動し得ないトリガー、反対のテーゼや判定)を列挙し、悪魔の代弁者役のサブエージェントが反対の見解を調査します。提案されたリスクやトリガーは、必ずあなたが承認します。テーゼ自体が変更されることはありません。 - 仮定のシナリオ(
torus whatif "TSMC fab outage halts CoWoS" TSM、/torus:whatif):仮定のイベントにアラートロジックを適用し、到達するすべてのテーゼ、それらに至るリンク、アラートが発生するかどうかを表示します。何も記録されません。 - 記録の確認と取り消し(
/torus:undo):各ターンの後、Torus は記録した内容を伝えます。取り消しでは、主張を撤回するか(または修正によって置き換えられたバージョンを復元し)、セッションで作成したテーゼをアーカイブし、リンクを無効化し(置き換えた初期リンクは復元します)、除外されたアイデアを取り下げます。履歴にはすべてが保持されるため、「日付 X に何を信じていたか」も引き続き確認できます。
スコアカードとキャリブレーション
投資仮説とその銘柄を追跡して、予測がどう推移しているかを確認できます。
torus scorecard track THESIS_ID # default: the subject's ticker, entry = the close when recorded
torus scorecard --refresh # fetch closes, then show returns and calibration
torus scorecard outcome THESIS_ID right # right, wrong, unclear or clear; your call beats the automatic one
torus scorecard import NVDA prices.csv # load closes yourself (date,close)
追跡中の各投資仮説には、見解の方向に沿ったベンチマーク(設定しない場合は SPY)に対するリターンと、最大ドローダウンが表示されます。つまり、弱気の投資仮説では、銘柄が市場に出遅れると利益になります。投資仮説の結果は、確認済みまたは否定済みとしてマークしたとき、あるいは期間に達したときの価格に基づいて決まります。キャリブレーションでは、当初の確信度と、実際に正しかった頻度を比較します。ブライアスコア(0 が完璧で、常に 50%と答えた場合は 0.25)と確信度帯ごとの表で示されます。たとえば、「確信度 80%以上の予測は 10 回中 6 回正解」といった内容です。価格に対する追跡の有無にかかわらず、結果が確定したすべての投資仮説が対象です。確定した投資仮説が 10 件未満の場合はその旨が示されます。それ未満では、統計的な指標ではなく、単なる逸話にすぎません。
価格は Yahoo Finance の公開チャートエンドポイントから取得します。キーは不要ですが、非公式のものであり、変更される可能性があります。取得に失敗した場合は、CSV から終値をインポートするか、price_source を none に設定してください。スコアカードは自分の予測を記録するものであり、投資助言ではありません。
メモ
torus memo THESIS_ID --open(または /torus:memo)を実行すると、投資仮説を Markdown と単独で表示できる HTML ページにまとめ、TORUS_HOME/memos に保存します。内容は、根拠、各主張とその情報源および引用の原文、推論の根拠となる主張、トリガー、これまでの出来事とその評価、除外したアイデア、スコアカード、全履歴です。Claude Code では、/torus:memo によってメモの内容に基づく短い要約も作成されます。
自動化
- スケジュールに基づくウォッチャー:
torus schedule install(上記を参照)。企業をウォッチしているのにウォッチャーが動作していない場合、torus doctorが警告します。実行のたびに通知とスケジュール済みダイジェストも送信されます(通知を受け取る)。 - セッションの要約: 調査セッションは終了時にキューに登録され、Haiku キュレーターが Claude に記録されなかった内容を追加します。
auto_distillがask(デフォルト)の場合、待機中のセッションがあると、Claude が/torus:distillの実行を提案します。onに設定すると、セッション終了時にバックグラウンドキュレーターが実行されます(Haiku 上でclaude -pを実行し、Torus ツールのみ使用)。この処理にはサブスクリプションが使用されます。一度に実行されるキュレーターは 1 つだけで、キュレーター自身のセッションは記録されません。
設定
torus config set KEY VALUE(値を省略するとリセットされます。読み取るには torus config get KEY を実行します):
| キー | デフォルト | 説明 |
|---|---|---|
sec_contact | User-Agent に含めて SEC に送信するメールアドレス(提出書類の取得に必須) | |
alert_threshold | 0.2 | 個別の設定がない投資仮説に適用される、アラートの最小スコア |
auto_distill | ask | ask:セッションがキューに登録されると、Claude が /torus:distill の実行を提案します。on:セッション終了時にバックグラウンドで Haiku キュレーターが実行されます。off:どちらも実行されません |
capture_receipts | on | 各ターンの後に、Torus が記録した内容を通知します |
filing_diffs | on | 新しい 10-K/10-Q/20-F イベントでのリスク要因の変更を要約します |
benchmark | SPY | スコアカードで投資仮説と比較する対象 |
price_source | yahoo | yahoo または none |
notify | strong | 新しいアラートのデスクトップ通知:strong、moderate、off |
digest | off | ウォッチャーの実行結果からダイジェストを送信します:off、daily、weekly |
digest_hour | 8 | ダイジェストを送信する時刻(0~23、現地時間) |
digest_weekday | mon | 週次ダイジェストを送信する曜日(mon~sun) |
digest_send_empty | off | 新しい内容がない場合もダイジェストを送信します |
digest_webhook | Slack、Discord、ntfy、または JSON の Webhook URL(マスクして表示され、エクスポートされません) | |
digest_webhook_format | auto | auto(URL から判定)、slack、discord、ntfy、json |
digest_email_to | ダイジェストの送信先メールアドレス(複数の場合はカンマ区切り) | |
digest_email_from | smtp_user | 送信元アドレス |
smtp_host | SMTP サーバー | |
smtp_port | 587 | STARTTLS の場合は 587、TLS の場合は 465 |
smtp_user | SMTP ログイン情報。パスワードは torus digest email-password で設定します |
お使いのマシンから送信される情報
Torus は調査データをローカルに保持します。以下の情報を読み取ります。
- SEC EDGAR(
sec.gov):ティッカーリスト、ウォッチ対象企業の提出書類リスト、Claude が読み取る提出書類、またはウォッチャーが差分を確認する提出書類です。SEC の要件に従い、sec_contactのメールアドレスが User-Agent として送信されます。 - ご自身の RSS/Atom フィード(追加した場合)。
- Yahoo Finance:追跡対象のティッカーとそのベンチマーク(ある場合)の日次終値です。スコアカードにいずれかの投資仮説があり、
price_sourceがnoneでない場合に使用します。
また、指定した場合に限り、以下の宛先に調査情報を送信します。
- ご自身の Webhook(
digest_webhook):設定した場合、ダイジェストのテキストを送信します。ダイジェストには、投資仮説のタイトル、アラートとイベントのタイトル、監査結果、スコアカードの変動が含まれます。 - ご自身の SMTP サーバー(
smtp_host):メールを設定した場合、同じダイジェストをdigest_email_toに送信します。
デスクトップ通知はお使いのマシン上にとどまります。
Claude のウェブ調査は、通常どおり、お使いのアプリを経由します。
メンテナンス
torus doctor # health check (schema, integrity, search index, hooks, watchers, schedule, notifications, digest)
torus doctor --fix # fix what it flags (see below)
torus doctor --repair # only rebuild the search index and close duplicate links
torus export # back up everything to TORUS_HOME/exports/*.jsonl
torus import backup.jsonl # restore into a fresh TORUS_HOME
torus status # row counts and queue state
torus doctor --fix は、壊れた検索インデックスを再構築し、重複するリンクを閉じ、SEC のメールアドレスを保存します(確認を求めるか、--contact EMAIL を渡します)。また、SEC のティッカーリストが存在しない場合や、最終更新から30日を超えている場合はダウンロードします。企業がウォッチ対象なのにウォッチャーが実行されていない場合は、ウォッチャーのスケジュールを設定し、Claude Desktop または Codex の設定が壊れている場合は書き直します(バックアップを作成し、ご自身で記述した Codex の設定はそのまま残します)。実施した内容とスキップした内容を報告し、その後、再度チェックします。
アップグレード時は、次に torus コマンドを実行してデータベースを開いた際に、自動で移行されます。フックの動作は ~/.torus/logs/hooks.log に、バックグラウンドキュレーターの出力は ~/.torus/logs/curator.log に記録されます。フックがセッションをブロックしたり、失敗させたりすることはありません。
開発
python -m venv .venv
.venv/Scripts/python -m pip install -e ".[dev]" # .venv/bin/python on macOS/Linux
.venv/Scripts/python -m pytest # unit + integration (no network)
.venv/Scripts/python -m pytest -m perf tests/perf # performance checks on a 100k-claim graph
ライセンス
Apache License 2.0。詳細は LICENSE をご覧ください。
Torus は調査情報を記録するものであり、金融アドバイスではありません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。