Appendix C: Feature Engineering Reference
Full Feature Table (26 features):
| # | Feature | Category | Type | Formula |
|---|---|---|---|---|
| 1 | age_seconds |
Time | Numeric | block_to.time - creation.time |
| 2 | trade_frequency |
Time | Numeric | total_trades / age_seconds |
| 3 | time_to_first_trade |
Time | Numeric | first_trade.time - creation.time |
| 4 | total_sol_volume |
Volume | Numeric | sum(all_trade_sol) |
| 5 | buy_sol_volume |
Volume | Numeric | sum(buy_sol) |
| 6 | sell_sol_volume |
Volume | Numeric | sum(sell_sol) |
| 7 | buy_sell_sol_ratio |
Volume | Numeric | buy_sol / max(sell_sol, epsilon) |
| 8 | avg_trade_size_sol |
Volume | Numeric | total_sol / total_trades |
| 9 | max_trade_size_sol |
Volume | Numeric | max(trade_sol) |
| 10 | total_trades |
Count | Integer | count(all_events) |
| 11 | buy_count |
Count | Integer | count(buy_events) |
| 12 | sell_count |
Count | Integer | count(sell_events) |
| 13 | buy_sell_count_ratio |
Count | Numeric | buy_count / max(sell_count, 1) |
| 14 | unique_traders |
Trader | Integer | count(distinct_traders) |
| 15 | unique_buyers |
Trader | Integer | count(distinct_buyers) |
| 16 | unique_sellers |
Trader | Integer | count(distinct_sellers) |
| 17 | repeat_buyer_ratio |
Trader | Numeric | repeat_buyers / max(unique_buyers, 1) |
| 18 | trader_concentration |
Trader | Numeric | top_5_volume / total_volume |
| 19 | price_at_snapshot |
Price | Numeric | last_trade_price |
| 20 | price_change_pct |
Price | Numeric | (last - first) / first * 100 |
| 21 | price_velocity |
Price | Numeric | price_change_pct / age_seconds |
| 22 | price_volatility |
Price | Numeric | std_dev(trade_prices) |
| 23 | max_drawdown_pct |
Price | Numeric | max_peak_to_trough |
| 24 | buy_cluster_score |
Pattern | Numeric | temporal_clustering_of_buys |
| 25 | whale_buy_ratio |
Pattern | Numeric | large_buys / total_buys |
| 26 | dex_count |
Pattern | Integer | count(distinct_dex_sources) |
epsilon = 1e-10(to avoid division by zero)