Home >  > AI找alpha-有趣项目复现2

AI找alpha-有趣项目复现2

一、知识图谱

dsh识别并推荐Obsidian 双向链接笔记。

 

二、测试项目

You are a quant researcher specializing in replication studies. I found a strategy claim online that I want to verify.

SOURCE: https//x.com/Murphychen888/status/1919921624859414715?s=20

Your job:

1 EXTRACT the core hypothesis - what is the claimed edge?

  1. IDENTIFY potential biases in the original claim
  • Survivorship bias? Cherry-picked timeframe?
  • Unrealistic assumptions (no fees, no slippage)?
  • Curve-fitted parameters? Too many free parameters?

3.FORMALIZE the strategy into exact mathematical rules. Optimise the highland plateau param selection threshold model window,model threshold, regime filter.etc) with subject to sortino ratio.

  1. WRITE a complete backtest in Python with:
  • Realistic transaction costs (0.03% + 0.01% slippage per side)
  • Proper train/test split (70/30)
  • No lookahead bias
  1. COMPARE your results vs their claimed results
  2. VERDICT: CONFIRMED / PARTIALLY CONFIRMED/DEBUNKED

Rules:

Be skeptical by default Most public claims don't hold up.

  • If the original lacks detail state your assumptions clearly.
  • If DEBUNKED: explain exactly which assumption broke it.
  • If CONFIRMED: warn about potential decay since publication date.

三、比特币的经典策略:coinbase

四、MFI

https://www.youtube.com/watch?v=U60eTIFTJ8o  13:56分

From glassnode datasource: Spot Money Flow Index (MFi)

https://api.glassnode.com/v1/metrics/market/spot_money_flow_index The Money Flow index (MFI) is a momentum indicator that uses both price and volume data to identify overbought or oversold conditions It ranges from 0. with readings above 80 indicating oversold conditions. MFI is calculated using a 14-day period and incorporates typical price (average of high low, and close) multiplied by volume to measure buying and selling pressure. This metric tracks MFI for spot trades where USD or USD-related currencies serve as the quote,and can be viewed per

exchange or aggregated across exchanges.

Factor Exploratory Analysis Study this factor data. and create a alpha story that make sense. and design a backtest config accordingly to prove whether is it a profitable alpha strategy.

Signal Modeling:

choose a signalling model to accurately capture the data factor anomales or signal that serve the alpha story context & angle and optimise it the parameters of threshold & rolling window (if it's required).model list can refer to adrs-extension library ‘model_list’ in our installed library, or search from the web.

Optimization Make sure to hove no lookahead bias & overfitting issue (choose param range that have highland plateau to ensure the param selected is not by luck and get be stably run profitably in the future with the same setup as the backtest config when running ive ) optimization

method can refer to adrs-extension in our installed library, or search from the web.

Entry Exit Logic: From the alpha story context, suggest the most make sense entry exit logic to run on the becktest LONG only /SHORT only/

LONG SHORT both (mean reversion / momentum )_etc Trade Exit could be by signal / time/ risk reward ratio etc

Backtest Period: 2020-05-11 to 2025-12-31 Asset: BTCUSDT Perps Binance

五、根据不同的数据特点找模型  视频:-13:20

brain/methods/selection-guide.yaml
# selection-guide.yaml
#Master decision matrix indexed by data property.
#Use this BEFORE picking any preprocessing/signal
#Cross-reference with: data-shape-mapping.yaml, alpha-story-mapping.yaml, quirks.yaml.

#==============================
#Read this YAML by FIRST identifying the data properties of your input series,
#THEN looking up each property below to get prefer/avoid lists.
#Take the INTERSECTION of "prefer" lists and the UNION of "avoid" lists

data_property:
bounded_already_pct: input is already in [e, 100], [-1, 1], or similar pre-bounded range
examples: ["RSI",percentile rank",'money flow index","stochastic"]
avoid:[zscore,ezscor,madzscore,qtzcore,robustscaler, log,log10,loglp,decimal]
reason_avoid: "spurious scaling -input is already meaningful; stat-z-scoring distorts the bounded interpretation"
prefer: [percentilerank, simplepercentilerank, raw_with_threshold]
prefer_signals: [long, short, long_short, double]
note: "use raw thresholds (e.g., RSI 78/30) rather than further normalization"

heavy_outliers:# kurtosis > 5 or visible single-bar 5o+ events
examples: ["liquidation volume", "options gamma", "miner-to-exchange spike events"]
avoid: [Zscore, ezscore, bband, enabband, ninmaxnorn, minmaxscaling, meannorn, maxabs, 12, Sma, ema, 21ma, mc, noradiff]
reason avoid: "nean and std Cor rolling min/nax) get blown out by single events; everything eLse gets crushed near Zero"
prefer: [madzscone, qtzscore, robustscaler, winsorscaling, percentilenank, percentilenonmn, percentite, meandiff with.median.mal]
prefer_signals: [fade, double] # adaptive bands handle the regime-shift after outlien
pre_transform_options:
"winsor first,then zscore (chained: winsor_zscore - note: needs custom Pipe)"
"loglp first if right-skewed, then madzscore"
breakdown_point:
mean: "O% (single outlier ruins it)"
median:"50%"
mad:"50%”

#===================
heavy_right_skew: #log-normal-ish; skewgess > 2; mean >> median
examples: ["volume","OI level", "exchange balance","mcap", "transaction count","gas price"]
avoid_without_log: [zscore, ezscore, bband, emabband, sma, ema, minmaxscaling, minmaxnorm, meannorm]
reason avoid: "mean is pulled by the right tail; std reflects extreme range; resulting z is misleading'
prefer_pre_transform: [loglp, log]
pre_transform_chains:
'Loglp_zscore - tog-normalize then z-score"
'loglp_madzscore - log-normalize then robust z (recommended)"
"log_percentilerank - log then rank (most robust)"
fallback_no_log: [qtzscore, percentilerank, percentilenorm]

#===================
heavy_left_skew: rare; mean << median; long left tail
examples: ["log loss percent","drawdown depths"]
avoid_without_transform: [zscore, ezscore]
prefer_pre_transform: [reflection_then_log, percentilerank]
note: "left-skewed data is unusual - confirm by checking sign of skewness"

#===================
non_stationary_trend: # raw level drifts over time (price, mcap, balance level)
examples: ["BTC price","ETH mcap','exchange balance level (not flow)"]

 

六、通用agent -6.58

Agents

Before You Do Anything

Read and internalize Soul.md at the root of this repository.I defines who you are how you think, and what you believe These are no guidelines - they are you operating identity Adopt them before interacting with the human or writing any code.

Project

This is a quant research repository using the adrs library for writing and backtesting trading strategies.

Python 3.14, managed with uv

Dependencies: adrs, polars, matplotlib

Directory Structure

docs/ - Documents above internal tools or user defined instructions.

strategies/ - All strategy outputs go here.

Writing Strategies

Before writing any alpha, you must read these resources

docs/pipelines/EANE.d -Index of alpha pipelines.Pick the pipeline that matches the strategy's evaluation model then folow the chosen pipeline spec exactly (file structure.code shape, summary template).

. docs/adrs/ - The full ADRS library documentation. Start with docs/adrs/guide/ for the writing guide.

docs/datasources/README.md - How to form data topics from endpoint schemas.

The online ADRS docs are at: https://docs.balaenaquant.com/docs/adrs/guide/writing-an-alpha

 

又找到了他的github:https://github.com/balaenaquant

暧昧帖

本文暂无标签