<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>kels880のブログ</title>
<link>https://ameblo.jp/kels880/</link>
<atom:link href="https://rssblog.ameba.jp/kels880/rss20.xml" rel="self" type="application/rss+xml" />
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com" />
<description>ブログの説明を入力します。</description>
<language>ja</language>
<item>
<title>三度の強制ロスカットから学んだ！贵金属リアルタイム価格 API の安定接続術</title>
<description>
<![CDATA[ <p>Python でゴールド価格を安定取得する方法を実践的に解説します。</p><p>トレードシステム開発をしている中で、<strong>贵金属（金・銀・プラチナ）のリアルタイム価格取得</strong>は一番失敗しやすいポイントでした。私は実際にデータの遅延や切断が原因で、<strong>3 回も強制ロスカット</strong>を経験…。その経験をもとに、安定して価格データを取得できる仕組みを作り上げたので、今回はその実践ノウハウをまとめます。</p><hr><h2>なぜ贵金属の価格データは不安定なの？</h2><p>株式や先物と違い、贵金属は<strong>ロンドン・ニューヨーク・香港・シドニー</strong>の 4 つの世界市場が 24 時間動きます。市場の切り替わり時や経済指標発表時は、価格の急変動・データの途切れが起こりやすくなります。</p><p>私が実際に困ったトラブルはこちら：</p><ul><li>指標発表時に価格が飛び、データを取りこぼす</li><li>WebSocket 接続が突然切れる、自動再接続されない</li><li>重複データ・異常な価格データが混入する</li><li>1 品種だけしか取得できず、相場連動が見れない</li></ul><p>これらを解決しないと、トレード戦略はまともに動きません。</p><hr><h2>安定接続のコツ：WebSocket 一括購読＋自動再接続</h2><p>何度も失敗した結果、<strong>1 接続で複数品種を購読</strong>し、<strong>切断時は自動で再接続</strong>する仕組みが最強だと分かりました。</p><p>今回は<strong><a href="https://alltick.co/ja-JP" rel="noopener noreferrer" target="_blank">AllTick API</a></strong>を使って、金 (XAUUSD)・銀 (XAGUSD)・プラチナ (XPTUSD) のリアルタイム価格を取得します。</p><h3>そのまま使える Python コード</h3><pre><code>import websocketimport jsonimport timedef on_message(ws, message):    data = json.loads(message)    # リアルタイムティックデータのみ処理    if 'tick' in data:        symbol = data['symbol']        price = data['price']        ts = data['time']        print(f"[{symbol}] {price} @ {ts}")def on_error(ws, error):    print("接続エラー:", error)    time.sleep(2)    ws.run_forever()  # 自動再接続def on_close(ws):    print("接続が切れました。再接続を試みます…")def on_open(ws):    # 金・銀・プラチナをまとめて購読    sub_msg = {        "action": "subscribe",        "symbols": ["XAUUSD", "XAGUSD", "XPTUSD"]    }    ws.send(json.dumps(sub_msg))if __name__ == "__main__":    ws = websocket.WebSocketApp(        "wss://api.alltick.co/websocket",        on_open=on_open,        on_message=on_message,        on_error=on_error,        on_close=on_close    )    ws.run_forever()</code></pre><p>これだけで、<strong>遅延の少ないリアルタイム価格</strong>を安定取得できます。</p><hr><h2>絶対やるべき！データの 3 段階浄化</h2><p>取得したデータはそのまま使わず、<strong>綺麗に整える</strong>ことが重要です。</p><ol><li><strong>重複除去</strong>銘柄＋価格＋タイムスタンプで重複データを削除</li><li><strong>異常値除去</strong>急激な価格変動（3% 以上など）を除外し、誤作動を防ぐ</li><li><strong>ローカルキャッシュ</strong>直近 200 件のデータを保存し、一時的な切断でもデータが途切れない</li></ol><p>この処理を入れるだけで、戦略の安定度が大幅に上がります。</p><hr><h2>応用：リアルタイムで RSI インジケーター計算</h2><p>価格データを使って、<strong>その場でインジケーターを計算</strong>することも可能です。</p><pre><code>def on_message(ws, message):    data = json.loads(message)    if 'tick' in data:        price = data['price']        rsi = quick_rsi(price)        if rsi &gt; 70:            trigger_alert("金 買われすぎ！")        elif rsi &lt; 30:            trigger_alert("金 売られすぎ！")</code></pre><p>リアルタイムアラート・自動売買・チャート表示などに応用できます。</p><hr><h2>最後に私が学んだこと</h2><p>API はただの「データのパイプ」に過ぎません。<strong>接続の安定性・再接続・データ浄化</strong>といった細かい仕組みが、すべての結果を決めます。</p><p>この記事が、同じようにデータトラブルで困っている方の助けになれば嬉しいです。</p>
]]>
</description>
<link>https://ameblo.jp/kels880/entry-12965270706.html</link>
<pubDate>Wed, 06 May 2026 11:53:36 +0900</pubDate>
</item>
<item>
<title>米国株リアルタイム分足データを簡単取得！WebSocket で自作する方法</title>
<description>
<![CDATA[ <p>こんにちは～投資ツール開発や株価分析が好きな方に向けて、<strong>超実用的なテクニック</strong>を紹介します✨</p><p>今回は「<strong>米国株のリアルタイム分足データを安定的に取得する方法</strong>」について、実際にツールを作りながら試行錯誤したノウハウをまとめました。HTTP ポーリングの遅延や制限に悩んでいる方、ぜひ最後までご覧ください！</p><hr><h2>こんな悩み、ありませんか？</h2><p>リアルタイム行情ツールを作るとき、私が一番困ったのはコチラです。</p><ul><li>HTTP ポーリングは頻繁にアクセス制限（レートリミット）に引っかかる</li><li>データの遅延が大きく、数秒のラグが発生する</li><li>行情データが欠落したり、接続が不安定になったりする</li></ul><p>これらの問題を<strong>一気に解決</strong>してくれるのが…<strong>WebSocket を使ってティックデータを取得し、自分で分足 K ラインを計算する方法</strong>です！</p><hr><h2>データ取得方法：HTTP ポーリング vs WebSocket</h2><p>米国株リアルタイムデータを取得する方法は大きく 2 つあります。</p><h3>HTTP ポーリング</h3><ul><li>実装が簡単</li><li>遅延が大きい（数秒レベル）</li><li>頻繁にアクセス制限されやすい</li></ul><h3>WebSocket</h3><ul><li>常時接続でリアルタイム受信</li><li>遅延が非常に少ない</li><li>安定してデータが届く</li><li>私はいつもコッチを使っています！</li></ul><p>高速道路を走るようにスムーズにデータが届くので、リアルタイムトレード用途には<strong>WebSocket 一択</strong>です✨</p><hr><h2>ティックデータ → 分足 K ラインの作り方</h2><p>ティックデータ（1 約定ごとの価格・出来高）を使って、分足データを自作できます。</p><p>必要な項目はたったの 5 つ！</p><ul><li>始値：1 分間の最初の約定価格</li><li>終値：1 分間の最後の約定価格</li><li>高値：1 分間の最高価格</li><li>安値：1 分間の最低価格</li><li>出来高：1 分間の合計出来高</li></ul><h3>Python 実装コード（分足集計）</h3><pre><code>from datetime import datetimeminute_data = {}def update_tick(tick):    minute = datetime.fromtimestamp(tick['time']).strftime('%Y-%m-%d %H:%M')    if minute not in minute_data:        minute_data[minute] = {            'open': tick['price'],            'high': tick['price'],            'low': tick['price'],            'close': tick['price'],            'volume': tick['volume']        }    else:        minute_data[minute]['close'] = tick['price']        minute_data[minute]['high'] = max(minute_data[minute]['high'], tick['price'])        minute_data[minute]['low'] = min(minute_data[minute]['low'], tick['price'])        minute_data[minute]['volume'] += tick['volume']</code></pre><hr><h2>実践！AllTick API で米国株リアルタイムデータを取得</h2><p>今回は<strong><a href="https://alltick.co/ja-JP" rel="noopener noreferrer" target="_blank">AllTick API</a></strong>の WebSocket インターフェースを使って、<strong>米国株</strong>のティックデータを購読します。AAPL・TSLA・MSFT など、銘柄を指定してリアルタイムデータが取得可能👍</p><h3>WebSocket 接続コード</h3><pre><code>import websocketimport jsondef on_message(ws, message):    tick = json.loads(message)    update_tick(tick)ws = websocket.WebSocketApp("wss://api.alltick.co/stock/ws",                            on_message=on_message)ws.run_forever()</code></pre><p>データが届くと即座に<code>on_message</code>が反応し、リアルタイムで分足データが作成されます。分析ツールや売買戦略のバックエンドに最適です！</p><hr><h2>分足データの保存方法</h2><p>作成した分足データは、用途に合わせて保存しましょう。</p><p>表格</p><table><thead><tr><th>保存形式</th><th>メリット</th><th>デメリット</th></tr></thead><tbody><tr><td>CSV/Parquet</td><td>扱いやすくデバッグしやすい</td><td>データ量が多いと読み込みが遅い</td></tr><tr><td>SQLite</td><td>シングルファイル、SQL で検索可能</td><td>高頻度書き込みに不向き</td></tr><tr><td>Redis</td><td>読み込み超高速、リアルタイム向き</td><td>永続化が弱め</td></tr></tbody></table><p>私は<strong>CSV/Parquet でテストしてから、本番は Redis やデータベース</strong>に切り替えて使っています。</p><hr><h2>便利な小技！実践で使えるコツ</h2><ul><li>平均価格・変動幅などの指標も一緒に計算</li><li>複数銘柄をまとめて購読・分析</li><li>過去のティックデータを使って、分足 K ラインを再現</li></ul><p>自分でデータを作ると、第三者製 K ラインより<strong>自由度が高く、好きな指標や戦略を拡張</strong>できるのが最大のメリットです✨</p><hr><h2>まとめ</h2><p>米国株リアルタイム行情から分足データを作成する流れはシンプル！</p><ol><li>WebSocket でティックデータを取得</li><li>1 分ごとに集計して K ラインを作成</li><li>保存・分析・バックテストに活用</li></ol><p>この方法を使えば、遅延や制限に悩まされず、<strong>安定した高品質な米国株分足データ</strong>を使い続けられます。投資分析ツール作りや、個人のトレード環境構築にぜひ活用してみてくださいね！</p><p>最後まで読んでいただきありがとうございました😊また次回の記事でお会いしましょう！</p>
]]>
</description>
<link>https://ameblo.jp/kels880/entry-12965163774.html</link>
<pubDate>Tue, 05 May 2026 11:43:15 +0900</pubDate>
</item>
<item>
<title>リアルタイム相場取得！WebSocket で複数取引所を一括購読する方法</title>
<description>
<![CDATA[ <p>仮想通貨の取引やシステムトレード、データ分析を行う際、<strong>1 つの取引所だけのデータでは偏りが生じ、判断を誤る可能性が高まります</strong>。複数取引所の価格や約定情報を同時にリアルタイムで取得することで、より正確な相場分析や戦略の構築が可能になります。</p><p>今回は、リアルタイムデータ取得の定番技術<strong>WebSocket</strong>を使って、複数取引所の相場データをまとめて購読する方法を、実用的なコード付きで解説します。</p><hr><h2>WebSocket を使うべき理由</h2><p>通常の HTTP 通信でデータを取得する場合、何度もリクエストを送る必要があり、<strong>遅延が大きく、負荷も高くなります</strong>。</p><p>WebSocket は一度接続を確立すると、<strong>サーバーから自動的に最新データが送信される</strong>ため、以下のメリットがあります。</p><ul><li>リアルタイム性が極めて高い</li><li>通信回数が少なく負荷が軽い</li><li>常時接続で安定してデータを受信可能</li><li>複数取引所の同時監視に最適</li></ul><p>仮想通貨のように価格の変動が速い市場では、WebSocket は<strong>必須の技術</strong>といえます。</p><hr><h2>複数取引所を購読する 2 つの方法</h2><h3>1. 取引所ごとに個別接続</h3><ul><li>メリット：仕組みがシンプルで、不具合の特定が容易</li><li>デメリット：取引所が増えると接続数が増え、リソース消費が大きくなる</li></ul><h3>2. 統合 API で一括接続（推奨）</h3><p>AllTick のような<strong>統合リアルタイム API</strong>を利用すると、<strong>1 本の WebSocket 接続だけで、複数取引所のデータを取得</strong>できます。</p><ul><li>管理が容易</li><li>データフォーマットが統一されている</li><li>開発・テストが大幅に効率化</li></ul><p>実務的には、後者の統合 API を使う方法が圧倒的に扱いやすいです。</p><hr><h2>データ処理のポイント</h2><p>複数取引所からデータを受け取る場合、以下の 3 点を意識してください。</p><ol><li><p><strong>データ形式の統一</strong>取引所ごとに JSON の構造が異なるため、<code>symbol</code>・<code>price</code>・<code>volume</code>・<code>timestamp</code>の形に統一します。</p></li><li><p><strong>重複データの除去</strong>同じ銘柄のデータが複数届く場合があるので、重複を排除します。</p></li><li><p><strong>非同期処理</strong>一部の取引所の遅延が全体に影響しないよう、非同期で処理を行います。</p></li></ol><hr><h2>実行可能なサンプルコード（Python）</h2><p>以下は、Binance・OKX・Huobi の 3 取引所の BTCUSDT を<strong>同時にリアルタイム購読</strong>するコードです。コピーしてすぐに動作確認できます。</p><pre><code>import asyncioimport websocketsimport jsonasync def subscribe(exchange, symbol):    url = "wss://ws.alltick.co/quote"    async with websockets.connect(url) as ws:        payload = json.dumps({            "action": "subscribe",            "exchange": exchange,            "symbol": symbol        })        await ws.send(payload)        while True:            data = await ws.recv()            tick = json.loads(data)            print(f"{exchange} {symbol} 最新価格: {tick['price']}")async def main():    tasks = [        subscribe("binance", "BTCUSDT"),        subscribe("okx", "BTCUSDT"),        subscribe("huobi", "BTCUSDT")    ]    await asyncio.gather(*tasks)asyncio.run(main())</code></pre><hr><h2>安定稼働のための仕組み</h2><p>長時間接続を維持するには、以下の 2 つが不可欠です。</p><ul><li><strong>ハートビート（生死確認）</strong>：定期的に ping を送信し、切断されないようにする</li><li><strong>自動再接続</strong>：接続が切れた場合、自動的に再接続を試みる</li></ul><p>これにより、24 時間安定してデータを取得し続けることができます。</p><hr><h2>まとめ</h2><p>複数取引所のリアルタイム相場を取得するには、<strong>WebSocket + 統合 API</strong>の組み合わせが最も効率的です。低遅延・安定稼働・データの統一化が実現でき、自動売買や分析システムの基盤として最適です。</p><p>ぜひこの方法を活用して、より精度の高い取引や分析に役立ててください。</p>
]]>
</description>
<link>https://ameblo.jp/kels880/entry-12964539405.html</link>
<pubDate>Wed, 29 Apr 2026 15:44:51 +0900</pubDate>
</item>
</channel>
</rss>
