Serenity 投稿に関連する Cashtag 議論を追跡する方法

著者:TwexAPI チーム
JA
他の言語:
日本語
English中文
TwexAPI
Serenity
Cashtag
株式市場
ソーシャルリスニング

TwexAPI Advanced public social platform Search by Page を使い、Latest 順で Serenity 本人の cashtag 付きオリジナル投稿をページ取得します。

Quick Answer

Serenity 関連の cashtag を追う場合、まず市場全体ではなく Serenity 本人の投稿から始めます。TwexAPI POST /twitter/advanced_search/page に searchTerms: ["from:aleabitoreddit filter:cashtags -filter:retweets -filter:replies"] と sortBy: "Latest" を渡します。初回は next_cursor なし、has_next_page が true の間は返却 cursor で次ページを取得します。

FAQ

cashtag 検索ではなく Advanced public social platform Search by Page を使う理由は?

cashtag 検索は監視したい銘柄コードが分かっている後段に向いています。この手順ではまず Serenity 本人の original post を特定したいので、source account、cashtag filter、repost/reply 除外を 1 クエリで指定できる Advanced Search が適しています。

この searchTerms クエリは何をしますか?

from:aleabitoreddit は Serenity 本人に限定し、filter:cashtags は銘柄・暗号資産の cashtag を含む投稿を残します。-filter:retweets と -filter:replies で repost と返信を除外し、保存しやすい source post list にします。

本番では Latest と next_cursor をどう使いますか?

polling では歴史的な人気順より新着順が重要なので Latest を使います。tweet_id を unique key として保存し、has_next_page が true の場合は next_cursor で次ページを取得します。

Serenity 関連の cashtag を追うとき、最初から市場全体を検索しない方が安全です。広い検索では、同名銘柄、転載、リプライ、便乗アカウントが混ざりやすくなります。データ量は増えても、「Serenity 本人が何を投稿したか」が見えにくくなります。

最初に見るべき問いはもっと狭くできます。@aleabitoreddit が最近投稿した、cashtag を含むオリジナル投稿はどれか。源泉となる投稿を確認した後で、それぞれの cashtag を広い公開議論へ展開するか決めます。

この記事では、その最初のステップに TwexAPI の Advanced Twitter Search by Page を使います。

クエリ戦略

クエリ戦略 とは、検索範囲を Serenity 本人のアカウントに限定し、cashtag を含むオリジナル投稿だけを残すことです。得られるデータは少なくなりますが、各行の意味を説明しやすく、後続のアラートにも使いやすくなります。

固定クエリは次の通りです。

from:aleabitoreddit filter:cashtags -filter:retweets -filter:replies

このクエリには 4 つの制約があります。

条件目的
from:aleabitoredditSerenity アカウントの投稿だけを見る
filter:cashtags$TSLA や $NVDA のような cashtag を含む投稿だけを残す
-filter:retweetsリポストを除外し、他人の意見を Serenity の発信として扱わない
-filter:repliesリプライを除外し、オリジナル投稿のアーカイブに近づける

sortBy は Latest を使います。監視では、新しい源泉投稿の方が過去に高エンゲージメントだった投稿より重要です。Top を使うと、過去に反応が大きかった投稿を見る用途に近くなり、新しく出た銘柄コードの検出には向きません。

API エンドポイント

API エンドポイント とは、この記事で使うリクエスト先です。この最初のステップでは cashtag 専用検索ではなく Advanced Search by Page を使います。既知の銘柄コードで全体検索するのではなく、Serenity のオリジナル投稿から言及された銘柄コードを発見するためです。

POST https://api.twexapi.io/twitter/advanced_search/page

Authorization: Bearer <your_token>
Content-Type: application/json

初回リクエストでは next_cursor は不要です。

curl --request POST \
  --url https://api.twexapi.io/twitter/advanced_search/page \
  --header 'Authorization: Bearer <your_token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "searchTerms": [
      "from:aleabitoreddit filter:cashtags -filter:retweets -filter:replies"
    ],
    "sortBy": "Latest"
}'

各ページは最大 20 件のツイートを返します。レスポンスの has_next_page が true の場合は、返された next_cursor を次のリクエストに渡します。

ページング例

ページング例 とは、1 ページ目、2 ページ目、それ以降をつなげる処理です。本番ジョブでは、すべてのページを取得し終えるまで待たず、ページごとに保存する方が安全です。

1import requests
2
3TOKEN = "<your_token>"
4ENDPOINT = "https://api.twexapi.io/twitter/advanced_search/page"
5QUERY = "from:aleabitoreddit filter:cashtags -filter:retweets -filter:replies"
6
7def fetch_serenity_cashtag_posts(max_pages=5):
8    tweets = []
9    next_cursor = None
10
11    for _ in range(max_pages):
12        payload = {
13            "searchTerms": [QUERY],
14            "sortBy": "Latest",
15        }
16
17        if next_cursor:
18            payload["next_cursor"] = next_cursor
19
20        response = requests.post(
21            ENDPOINT,
22            headers={"Authorization": f"Bearer {TOKEN}"},
23            json=payload,
24            timeout=30,
25        )
26        response.raise_for_status()
27        body = response.json()
28
29        page_items = body.get("data") or []
30        tweets.extend(page_items)
31
32        if not body.get("has_next_page"):
33            break
34
35        next_cursor = body.get("next_cursor")
36        if not next_cursor:
37            break
38
39    return tweets
40
41for tweet in fetch_serenity_cashtag_posts():
42    print(
43        tweet.get("tweet_id"),
44        tweet.get("created_at_datetime"),
45        tweet.get("cashtags", []),
46        (tweet.get("text") or tweet.get("full_text") or "")[:140],
47    )

このスクリプトは Latest 順でページ取得します。定期実行する場合は、tweet_id を一意キーにしてください。同じ投稿を再取得したときは、重複行を作らずエンゲージメント指標を更新します。

保存とアラート

保存とアラート とは、一度だけコマンドラインで見るのではなく、継続監視として使える形にすることです。最小構成では、投稿 ID、投稿時刻、本文、cashtag、エンゲージメント指標を保存します。

フィールド用途
tweet_id重複排除と更新の主キー
created_at_datetime新規投稿判定と時系列ソート
text / full_textcashtag だけで誤解しないための文脈
cashtagsSerenity が最近言及した銘柄コードの集計
view_count、retweet_count、quote_count、favorite_count優先して確認すべき投稿の判断
urls、mediaニュース、開示、スクリーンショットを引用しているか確認

簡単なアラート条件は、最新ページにまだデータベースにない tweet_id があり、cashtags が空でない場合に、本文と cashtag を Slack、Feishu、または社内ダッシュボードに送ることです。

広い議論へ展開する

広い議論へ展開する とは、Serenity の源泉投稿を確認した後で、その投稿から抽出した cashtag を広い検索に使うことです。順序が重要です。先に源泉投稿、次に市場全体の議論を見ることで、一般的な市場ノイズを Serenity 起点の議論と取り違えにくくなります。

流れは次の通りです。

  1. Advanced Search クエリで、Serenity の最新 cashtag 付きオリジナル投稿を取得する。
  2. 各源泉投稿から $XYZ のような cashtags を抽出する。
  3. その cashtag で公開議論を広く検索し、源泉投稿の前後で言及量、エンゲージメント、感情を比較する。
  4. 高エンゲージメント投稿を手動確認し、投資意見、冗談、反語を確定シグナルとして扱わない。

関連リソース

Answer: 関連リソースとは、この事例で api.twexapi.io の TwexAPI Bearer API を使う手順です。通常の読み取りは 5 Credits(約 $0.05/1K)、対象プランは 20+ QPS です。2026-08-20 時点の公式 Post/User read は $5/$10 per 1K で、rate limit は endpoint ごとに異なります。

免責事項

免責事項 とは、この記事が公開 X データの取得と整理だけを説明するという意味です。Cashtag の活発さはソーシャルシグナルの一つであり、企業のファンダメンタルズや将来価格を証明するものではありません。投資助言でもありません。

Serenity 投稿に関連する Cashtag 議論を追跡する方法