xai-crypto-sentiment

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

xAI Crypto Sentiment Analysis

xAI 加密货币情绪分析

Real-time cryptocurrency sentiment from Crypto Twitter (CT) using Grok's native X integration.
通过Grok原生X集成获取加密货币推特圈(CT)的实时加密货币情绪数据。

Quick Start

快速开始

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.getenv("XAI_API_KEY"),
    base_url="https://api.x.ai/v1"
)

def get_crypto_sentiment(coin: str) -> dict:
    """Get real-time sentiment for a cryptocurrency."""
    response = client.chat.completions.create(
        model="grok-4-1-fast",
        messages=[{
            "role": "user",
            "content": f"""Analyze Crypto Twitter sentiment for {coin}.

            Return JSON:
            {{
                "coin": "{coin}",
                "sentiment": {{
                    "overall": "bullish" | "bearish" | "neutral",
                    "score": -1.0 to 1.0,
                    "confidence": 0.0 to 1.0
                }},
                "fear_greed": "extreme fear" | "fear" | "neutral" | "greed" | "extreme greed",
                "metrics": {{
                    "bullish_percent": 0-100,
                    "bearish_percent": 0-100,
                    "mention_volume": "high" | "medium" | "low",
                    "trend": "increasing" | "stable" | "decreasing"
                }},
                "whale_mentions": {{
                    "detected": true/false,
                    "sentiment": "accumulating" | "distributing" | "neutral",
                    "notable": [...]
                }},
                "narratives": ["narrative1", "narrative2"],
                "fud_alerts": [...],
                "fomo_level": "high" | "medium" | "low" | "none"
            }}"""
        }]
    )
    return response.choices[0].message.content
python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.getenv("XAI_API_KEY"),
    base_url="https://api.x.ai/v1"
)

def get_crypto_sentiment(coin: str) -> dict:
    """获取加密货币的实时情绪数据。"""
    response = client.chat.completions.create(
        model="grok-4-1-fast",
        messages=[{
            "role": "user",
            "content": f"""分析加密货币推特圈中{coin}的情绪。

            返回JSON格式:
            {{
                "coin": "{coin}",
                "sentiment": {{
                    "overall": "bullish" | "bearish" | "neutral",
                    "score": -1.0 至 1.0,
                    "confidence": 0.0 至 1.0
                }},
                "fear_greed": "extreme fear" | "fear" | "neutral" | "greed" | "extreme greed",
                "metrics": {{
                    "bullish_percent": 0-100,
                    "bearish_percent": 0-100,
                    "mention_volume": "high" | "medium" | "low",
                    "trend": "increasing" | "stable" | "decreasing"
                }},
                "whale_mentions": {{
                    "detected": true/false,
                    "sentiment": "accumulating" | "distributing" | "neutral",
                    "notable": [...]
                }},
                "narratives": ["narrative1", "narrative2"],
                "fud_alerts": [...],
                "fomo_level": "high" | "medium" | "low" | "none"
            }}"""
        }]
    )
    return response.choices[0].message.content

Example

示例

sentiment = get_crypto_sentiment("Bitcoin") print(sentiment)
undefined
sentiment = get_crypto_sentiment("Bitcoin") print(sentiment)
undefined

Crypto Twitter Influencers

加密货币推特圈意见领袖

python
CRYPTO_INFLUENCERS = [
    # Bitcoin Maxis
    "saborskip",
    "michael_saylor",

    # Analysts
    "CryptoCapo_",
    "Pentosh1",
    "ColdBloodShill",

    # News
    "WatcherGuru",
    "whale_alert",

    # DeFi
    "DefiIgnas",
    "Route2FI",

    # Altcoins
    "AltcoinGordon",
    "CryptoKaleo"
]
python
CRYPTO_INFLUENCERS = [
    # Bitcoin 极端支持者
    "saborskip",
    "michael_saylor",

    # 分析师
    "CryptoCapo_",
    "Pentosh1",
    "ColdBloodShill",

    # 资讯账号
    "WatcherGuru",
    "whale_alert",

    # DeFi领域
    "DefiIgnas",
    "Route2FI",

    # 山寨币领域
    "AltcoinGordon",
    "CryptoKaleo"
]

Sentiment Functions

情绪分析函数

Bitcoin Market Sentiment

比特币市场情绪分析

python
def bitcoin_sentiment() -> dict:
    """Get comprehensive Bitcoin sentiment analysis."""
    response = client.chat.completions.create(
        model="grok-4-1-fast",
        messages=[{
            "role": "user",
            "content": """Analyze Bitcoin sentiment on Crypto Twitter.

            Return JSON:
            {
                "bitcoin": {
                    "sentiment_score": -1 to 1,
                    "fear_greed_index": 0-100,
                    "fear_greed_label": "...",
                    "trend": "bullish/bearish/consolidating"
                },
                "market_structure": {
                    "support_levels_mentioned": [...],
                    "resistance_levels_mentioned": [...],
                    "key_levels": [...]
                },
                "whale_activity": {
                    "accumulation_signals": true/false,
                    "distribution_signals": true/false,
                    "notable_moves": [...]
                },
                "narratives": {
                    "bullish": [...],
                    "bearish": [...]
                },
                "influencer_consensus": {
                    "bullish_count": n,
                    "bearish_count": n,
                    "key_calls": [...]
                },
                "on_chain_mentions": {
                    "exchange_flows": "inflows/outflows/neutral",
                    "wallet_activity": "..."
                },
                "macro_sentiment": {
                    "correlation_to_stocks": "...",
                    "fed_mentions": "...",
                    "institutional_interest": "..."
                }
            }"""
        }]
    )
    return response.choices[0].message.content
python
def bitcoin_sentiment() -> dict:
    """获取比特币的全面情绪分析结果。"""
    response = client.chat.completions.create(
        model="grok-4-1-fast",
        messages=[{
            "role": "user",
            "content": """分析加密货币推特圈中的比特币情绪。

            返回JSON格式:
            {
                "bitcoin": {
                    "sentiment_score": -1 至 1,
                    "fear_greed_index": 0-100,
                    "fear_greed_label": "...",
                    "trend": "bullish/bearish/consolidating"
                },
                "market_structure": {
                    "support_levels_mentioned": [...],
                    "resistance_levels_mentioned": [...],
                    "key_levels": [...]
                },
                "whale_activity": {
                    "accumulation_signals": true/false,
                    "distribution_signals": true/false,
                    "notable_moves": [...]
                },
                "narratives": {
                    "bullish": [...],
                    "bearish": [...]
                },
                "influencer_consensus": {
                    "bullish_count": n,
                    "bearish_count": n,
                    "key_calls": [...]
                },
                "on_chain_mentions": {
                    "exchange_flows": "inflows/outflows/neutral",
                    "wallet_activity": "..."
                },
                "macro_sentiment": {
                    "correlation_to_stocks": "...",
                    "fed_mentions": "...",
                    "institutional_interest": "..."
                }
            }"""
        }]
    )
    return response.choices[0].message.content

Altcoin Season Detection

山寨币行情周期检测

python
def detect_altseason() -> dict:
    """Detect if altcoin season is emerging."""
    response = client.chat.completions.create(
        model="grok-4-1-fast",
        messages=[{
            "role": "user",
            "content": """Analyze Crypto Twitter for altcoin season signals.

            Return JSON:
            {
                "altseason_status": "active" | "emerging" | "not present",
                "confidence": 0 to 1,
                "signals": {
                    "btc_dominance_sentiment": "...",
                    "altcoin_volume": "high/medium/low",
                    "rotation_patterns": "...",
                    "new_narratives": [...]
                },
                "hot_sectors": [
                    {"sector": "...", "sentiment": ..., "top_coins": [...]}
                ],
                "coins_trending": [
                    {"coin": "...", "sentiment": ..., "catalyst": "..."}
                ],
                "risk_level": "high/medium/low",
                "recommendation": "..."
            }"""
        }]
    )
    return response.choices[0].message.content
python
def detect_altseason() -> dict:
    """检测山寨币行情周期是否到来。"""
    response = client.chat.completions.create(
        model="grok-4-1-fast",
        messages=[{
            "role": "user",
            "content": """分析加密货币推特圈中的山寨币行情周期信号。

            返回JSON格式:
            {
                "altseason_status": "active" | "emerging" | "not present",
                "confidence": 0 至 1,
                "signals": {
                    "btc_dominance_sentiment": "...",
                    "altcoin_volume": "high/medium/low",
                    "rotation_patterns": "...",
                    "new_narratives": [...]
                },
                "hot_sectors": [
                    {"sector": "...", "sentiment": ..., "top_coins": [...]}
                ],
                "coins_trending": [
                    {"coin": "...", "sentiment": ..., "catalyst": "..."}
                ],
                "risk_level": "high/medium/low",
                "recommendation": "..."
            }"""
        }]
    )
    return response.choices[0].message.content

Token Sentiment Analysis

代币情绪分析

python
def analyze_token(token: str, chain: str = None) -> dict:
    """Analyze sentiment for a specific token."""
    chain_context = f" on {chain}" if chain else ""

    response = client.chat.completions.create(
        model="grok-4-1-fast",
        messages=[{
            "role": "user",
            "content": f"""Analyze Crypto Twitter sentiment for {token}{chain_context}.

            Return JSON:
            {{
                "token": "{token}",
                "chain": "{chain or 'unknown'}",
                "sentiment": {{
                    "score": -1 to 1,
                    "label": "...",
                    "volume": "high/medium/low"
                }},
                "community_health": {{
                    "engagement": "high/medium/low",
                    "holder_sentiment": "...",
                    "developer_activity_mentions": "..."
                }},
                "narratives": [...],
                "catalysts": {{
                    "upcoming": [...],
                    "recent": [...]
                }},
                "risks": {{
                    "fud_topics": [...],
                    "concerns_raised": [...],
                    "rug_risk_mentions": true/false
                }},
                "influencer_mentions": [...],
                "comparison_to_competitors": "..."
            }}"""
        }]
    )
    return response.choices[0].message.content
python
def analyze_token(token: str, chain: str = None) -> dict:
    """分析特定代币的情绪。"""
    chain_context = f" 在{chain}链上" if chain else ""

    response = client.chat.completions.create(
        model="grok-4-1-fast",
        messages=[{
            "role": "user",
            "content": f"""分析加密货币推特圈中{token}{chain_context}的情绪。

            返回JSON格式:
            {{
                "token": "{token}",
                "chain": "{chain or 'unknown'}",
                "sentiment": {{
                    "score": -1 至 1,
                    "label": "...",
                    "volume": "high/medium/low"
                }},
                "community_health": {{
                    "engagement": "high/medium/low",
                    "holder_sentiment": "...",
                    "developer_activity_mentions": "..."
                }},
                "narratives": [...],
                "catalysts": {{
                    "upcoming": [...],
                    "recent": [...]
                }},
                "risks": {{
                    "fud_topics": [...],
                    "concerns_raised": [...],
                    "rug_risk_mentions": true/false
                }},
                "influencer_mentions": [...],
                "comparison_to_competitors": "..."
            }}"""
        }]
    )
    return response.choices[0].message.content

DeFi Protocol Sentiment

DeFi协议情绪分析

python
def defi_protocol_sentiment(protocol: str) -> dict:
    """Analyze sentiment for a DeFi protocol."""
    response = client.chat.completions.create(
        model="grok-4-1-fast",
        messages=[{
            "role": "user",
            "content": f"""Analyze Crypto Twitter sentiment for {protocol} DeFi protocol.

            Return JSON:
            {{
                "protocol": "{protocol}",
                "sentiment": {{
                    "score": -1 to 1,
                    "trend": "improving/declining/stable"
                }},
                "tvl_sentiment": "growing/stable/declining concern",
                "security_mentions": {{
                    "concerns": [...],
                    "audits_mentioned": [...],
                    "exploit_risk_perception": "high/medium/low"
                }},
                "yield_sentiment": "attractive/fair/unattractive",
                "community_growth": "...",
                "governance_sentiment": "...",
                "competitors_mentioned": [...]
            }}"""
        }]
    )
    return response.choices[0].message.content
python
def defi_protocol_sentiment(protocol: str) -> dict:
    """分析DeFi协议的情绪。"""
    response = client.chat.completions.create(
        model="grok-4-1-fast",
        messages=[{
            "role": "user",
            "content": f"""分析加密货币推特圈中{protocol} DeFi协议的情绪。

            返回JSON格式:
            {{
                "protocol": "{protocol}",
                "sentiment": {{
                    "score": -1 至 1,
                    "trend": "improving/declining/stable"
                }},
                "tvl_sentiment": "growing/stable/declining concern",
                "security_mentions": {{
                    "concerns": [...],
                    "audits_mentioned": [...],
                    "exploit_risk_perception": "high/medium/low"
                }},
                "yield_sentiment": "attractive/fair/unattractive",
                "community_growth": "...",
                "governance_sentiment": "...",
                "competitors_mentioned": [...]
            }}"""
        }]
    )
    return response.choices[0].message.content

NFT Market Sentiment

NFT市场情绪分析

python
def nft_sentiment(collection: str = None) -> dict:
    """Analyze NFT market sentiment."""
    target = f"the {collection} collection" if collection else "the NFT market"

    response = client.chat.completions.create(
        model="grok-4-1-fast",
        messages=[{
            "role": "user",
            "content": f"""Analyze Crypto Twitter sentiment for {target}.

            Return JSON:
            {{
                "target": "{collection or 'NFT Market'}",
                "sentiment": {{
                    "score": -1 to 1,
                    "market_phase": "bull/bear/recovery/mania"
                }},
                "volume_sentiment": "high/medium/low",
                "floor_price_sentiment": "stable/rising/falling concern",
                "trending_collections": [...],
                "whale_activity": {{
                    "notable_buys": [...],
                    "notable_sales": [...]
                }},
                "narratives": [...],
                "mint_sentiment": "hot/cooling/cold"
            }}"""
        }]
    )
    return response.choices[0].message.content
python
def nft_sentiment(collection: str = None) -> dict:
    """分析NFT市场的情绪。"""
    target = f"{collection}系列" if collection else "NFT市场"

    response = client.chat.completions.create(
        model="grok-4-1-fast",
        messages=[{
            "role": "user",
            "content": f"""分析加密货币推特圈中{target}的情绪。

            返回JSON格式:
            {{
                "target": "{collection or 'NFT Market'}",
                "sentiment": {{
                    "score": -1 至 1,
                    "market_phase": "bull/bear/recovery/mania"
                }},
                "volume_sentiment": "high/medium/low",
                "floor_price_sentiment": "stable/rising/falling concern",
                "trending_collections": [...],
                "whale_activity": {{
                    "notable_buys": [...],
                    "notable_sales": [...]
                }},
                "narratives": [...],
                "mint_sentiment": "hot/cooling/cold"
            }}"""
        }]
    )
    return response.choices[0].message.content

Whale Alert Monitoring

巨鲸警报监控

python
def monitor_whale_alerts() -> dict:
    """Monitor whale activity mentions on CT."""
    response = client.chat.completions.create(
        model="grok-4-1-fast",
        messages=[{
            "role": "user",
            "content": """Search Crypto Twitter for recent whale alerts and large transactions.

            Focus on @whale_alert and similar accounts.

            Return JSON:
            {
                "timestamp": "...",
                "recent_whale_moves": [
                    {
                        "coin": "...",
                        "amount_usd": "...",
                        "direction": "exchange_inflow/exchange_outflow/wallet_transfer",
                        "interpretation": "bullish/bearish/neutral",
                        "source": "..."
                    }
                ],
                "exchange_flow_summary": {
                    "net_flow": "inflows/outflows/balanced",
                    "interpretation": "..."
                },
                "accumulation_signals": [...],
                "distribution_signals": [...],
                "notable_wallet_activity": [...]
            }"""
        }]
    )
    return response.choices[0].message.content
python
def monitor_whale_alerts() -> dict:
    """监控CT上的巨鲸活动提及内容。"""
    response = client.chat.completions.create(
        model="grok-4-1-fast",
        messages=[{
            "role": "user",
            "content": """搜索加密货币推特圈中的近期巨鲸警报和大额交易信息。

            重点关注@whale_alert及类似账号。

            返回JSON格式:
            {
                "timestamp": "...",
                "recent_whale_moves": [
                    {
                        "coin": "...",
                        "amount_usd": "...",
                        "direction": "exchange_inflow/exchange_outflow/wallet_transfer",
                        "interpretation": "bullish/bearish/neutral",
                        "source": "..."
                    }
                ],
                "exchange_flow_summary": {
                    "net_flow": "inflows/outflows/balanced",
                    "interpretation": "..."
                },
                "accumulation_signals": [...],
                "distribution_signals": [...],
                "notable_wallet_activity": [...]
            }"""
        }]
    )
    return response.choices[0].message.content

FOMO/FUD Detection

FOMO/FUD检测

python
def detect_fomo_fud(coin: str) -> dict:
    """Detect FOMO or FUD patterns for a cryptocurrency."""
    response = client.chat.completions.create(
        model="grok-4-1-fast",
        messages=[{
            "role": "user",
            "content": f"""Analyze Crypto Twitter for FOMO and FUD signals around {coin}.

            Return JSON:
            {{
                "coin": "{coin}",
                "fomo_analysis": {{
                    "level": "extreme/high/moderate/low/none",
                    "triggers": [...],
                    "warning_signs": [...],
                    "sustainability": "likely/unlikely"
                }},
                "fud_analysis": {{
                    "level": "extreme/high/moderate/low/none",
                    "sources": [...],
                    "legitimacy": "valid concerns/coordinated/mixed",
                    "topics": [...]
                }},
                "manipulation_signals": {{
                    "detected": true/false,
                    "type": "pump/dump/coordinated/organic",
                    "evidence": [...]
                }},
                "contrarian_signal": {{
                    "extreme_fear": true/false,
                    "extreme_greed": true/false,
                    "actionable": "..."
                }}
            }}"""
        }]
    )
    return response.choices[0].message.content
python
def detect_fomo_fud(coin: str) -> dict:
    """检测加密货币的FOMO或FUD模式。"""
    response = client.chat.completions.create(
        model="grok-4-1-fast",
        messages=[{
            "role": "user",
            "content": f"""分析加密货币推特圈中围绕{coin}的FOMO和FUD信号。

            返回JSON格式:
            {{
                "coin": "{coin}",
                "fomo_analysis": {{
                    "level": "extreme/high/moderate/low/none",
                    "triggers": [...],
                    "warning_signs": [...],
                    "sustainability": "likely/unlikely"
                }},
                "fud_analysis": {{
                    "level": "extreme/high/moderate/low/none",
                    "sources": [...],
                    "legitimacy": "valid concerns/coordinated/mixed",
                    "topics": [...]
                }},
                "manipulation_signals": {{
                    "detected": true/false,
                    "type": "pump/dump/coordinated/organic",
                    "evidence": [...]
                }},
                "contrarian_signal": {{
                    "extreme_fear": true/false,
                    "extreme_greed": true/false,
                    "actionable": "..."
                }}
            }}"""
        }]
    )
    return response.choices[0].message.content

Crypto Market Dashboard

加密货币市场仪表盘

python
def crypto_market_dashboard() -> dict:
    """Get overall crypto market sentiment dashboard."""
    response = client.chat.completions.create(
        model="grok-4-1-fast",
        messages=[{
            "role": "user",
            "content": """Create a comprehensive Crypto Twitter market dashboard.

            Return JSON:
            {
                "timestamp": "...",
                "market_sentiment": {
                    "overall": -1 to 1,
                    "fear_greed": 0-100,
                    "trend": "bullish/bearish/neutral"
                },
                "bitcoin": {
                    "sentiment": ...,
                    "key_levels": [...]
                },
                "ethereum": {
                    "sentiment": ...,
                    "key_topics": [...]
                },
                "top_trending_coins": [
                    {"coin": "...", "sentiment": ..., "reason": "..."}
                ],
                "sector_performance": [
                    {"sector": "L1/L2/DeFi/NFT/Meme", "sentiment": ...}
                ],
                "hot_narratives": [...],
                "risk_alerts": [...],
                "whale_summary": "...",
                "recommended_focus": [...]
            }"""
        }]
    )
    return response.choices[0].message.content
python
def crypto_market_dashboard() -> dict:
    """获取加密货币市场的综合情绪仪表盘。"""
    response = client.chat.completions.create(
        model="grok-4-1-fast",
        messages=[{
            "role": "user",
            "content": """创建加密货币推特圈的综合市场情绪仪表盘。

            返回JSON格式:
            {
                "timestamp": "...",
                "market_sentiment": {
                    "overall": -1 至 1,
                    "fear_greed": 0-100,
                    "trend": "bullish/bearish/neutral"
                },
                "bitcoin": {
                    "sentiment": ...,
                    "key_levels": [...]
                },
                "ethereum": {
                    "sentiment": ...,
                    "key_topics": [...]
                },
                "top_trending_coins": [
                    {"coin": "...", "sentiment": ..., "reason": "..."}
                ],
                "sector_performance": [
                    {"sector": "L1/L2/DeFi/NFT/Meme", "sentiment": ...}
                ],
                "hot_narratives": [...],
                "risk_alerts": [...],
                "whale_summary": "...",
                "recommended_focus": [...]
            }"""
        }]
    )
    return response.choices[0].message.content

Best Practices

最佳实践

1. Crypto-Specific Considerations

1. 加密货币领域专属注意事项

  • CT is highly volatile - sentiment can shift quickly
  • Bot activity is prevalent - look for organic signals
  • Influencer manipulation is common - verify across sources
  • CT的情绪波动极大,情绪可能快速转变
  • 机器人活动盛行,需关注有机信号
  • 意见领袖操纵行为常见,需跨来源验证

2. Timing Matters

2. 时机至关重要

  • US/EU overlap often sees highest activity
  • Asian session can have different sentiment
  • Weekend sentiment differs from weekdays
  • 欧美时段重叠期通常活跃度最高
  • 亚洲时段的情绪可能有所不同
  • 周末情绪与工作日存在差异

3. Filter for Quality

3. 筛选优质内容

python
undefined
python
undefined

Focus on accounts with history, not fresh accounts pumping

关注有历史积累的账号,而非新注册的喊单账号

"Focus on accounts older than 6 months with consistent posting history"
undefined
"Focus on accounts older than 6 months with consistent posting history"
undefined

4. Watch for Coordinated Activity

4. 警惕协同活动

python
undefined
python
undefined

Detect potential pump and dump schemes

检测潜在的拉高出货骗局

"Flag any coordinated posting patterns or sudden volume spikes from new accounts"
undefined
"Flag any coordinated posting patterns or sudden volume spikes from new accounts"
undefined

Related Skills

相关技能

  • xai-stock-sentiment
    - Stock analysis
  • xai-x-search
    - Raw X search
  • xai-sentiment
    - General sentiment
  • xai-financial-integration
    - Price data integration
  • xai-stock-sentiment
    - 股票分析
  • xai-x-search
    - 原生X搜索
  • xai-sentiment
    - 通用情绪分析
  • xai-financial-integration
    - 价格数据集成

References

参考资料