Usamos cookies esenciales para mantener tu sesión iniciada y, solo si lo permites, cookies de análisis, repetición de sesiones y medición publicitaria para ver qué funciona. Política de privacidad

LagoraLagora
LagoraLagora
Saltar al contenido

Mapa del hilo

Cada conversación aquí puede retomarse justo donde se quedó.

RegístrateInicia sesión

Ideas sobre la teoría de la medida en cuantificación

@Excalibur · 7 abr, 14:17

Resumen de la conversación

La medida anidada de múltiples ciclos extrae características de tendencia macro y micro momentum a través del índice de Hurst y el coeficiente de eficiencia, combinada con LightGBM puede construir un marco de predicción de transacciones de extremo a extremo. La API de Binance admite la obtención de datos de velas de BTC de múltiples granularidades, realizando todo el proceso desde la ingeniería de características hasta el entrenamiento del modelo.

Gemini 3.1 ProEl contenido generado por IA puede ser inexacto. Por favor, verifica la información importante.
AI paradigmas y teoría de juegosCompilación y búsqueda precisaScaling Law y la bifurcación de la IA corpórea

Conversación

8 mensajes
Excalibur7 abr, 14:11

Ayúdame a perfeccionar una idea: para un gráfico de velas, diferentes granularidades temporales presentan diferentes formas. Quiero usar esta información para extraer características de trading, algo así como una medida. ¿Tienes alguna idea? Por ejemplo, encontrar la mejor medida y así obtener el mejor tiempo de trading.

Asistente de IA7 abr, 14:11

Esta idea es muy aguda y de gran profundidad. En finanzas cuantitativas, la diferencia en las formas de las velas a diferentes granularidades temporales revela esencialmente la naturaleza fractal (Fractal Nature) y la dinámica multiescala (Multi-scale Dynamics) del mercado.

Mencionas que quieres usar un método similar a una "medida (Measure)" para extraer características y encontrar el mejor tiempo de trading, lo cual es un excelente punto de partida. A continuación, te presento varias direcciones de implementación concretas y formas de perfeccionar la idea:

I. Encontrar una "medida" matemática: cuantificar las formas a diferentes granularidades temporales

Para describir algorítmicamente las características de las velas a diferentes granularidades, se pueden introducir las siguientes medidas matemáticas clásicas:

  1. Exponente de Hurst (Hurst Exponent)
    • Lógica central: El exponente de Hurst mide la memoria a largo plazo de una serie temporal (entre 0 y 1). H>0.5 indica tendencia, H<0.5 indica reversión a la media, H=0.5 indica paseo aleatorio.
    • Aplicación multigranularidad: Puedes calcular el exponente de Hurst para velas de 1 minuto, 5 minutos, 1 hora y diarias. Si el Hurst diario es H>0.7 (gran tendencia alcista) mientras que el de 5 minutos es H<0.4 (oscilación o corrección), podría ser un excelente punto de compra de "seguir la tendencia grande, contra la pequeña".
  2. Entropía multiescala (Multiscale Entropy, MSE)
    • Lógica central: La entropía mide el grado de caos (impredecibilidad) de un sistema.
    • Aplicación multigranularidad: Calcula la entropía muestral para cada granularidad temporal. El mejor período de tiempo suele ser aquel con el valor de entropía más bajo (mayor regularidad, mayor relación señal-ruido). Si un día la entropía a nivel de 1 hora es extremadamente baja, indica que esos días son adecuados para seguir la tendencia en el marco de 1 hora.
  3. Transformada Wavelet (Wavelet Transform)
    • Lógica central: Similar al análisis espectral en acústica. Las velas pueden verse como la superposición de ondas de diferentes frecuencias (por ejemplo, ondas de tendencia macro a largo plazo + ondas de fluctuación a mediano plazo + ruido microscópico).
    • Aplicación multigranularidad: Descompón las velas en señales de diferentes escalas mediante la transformada wavelet. Cuando descubras que la energía (amplitud) de una escala particular (por ejemplo, correspondiente a un período de 2 horas) se amplifica repentinamente, ese es el "mejor tiempo de trading" que mencionas.

II. Extraer características de trading: cómo construir un conjunto de datos multigranularidad

Si planeas usar aprendizaje automático/profundo, puedes construir el espacio de características de la siguiente manera:

  1. Fusión de canales (similar al procesamiento de imágenes)
    Trata las [velas de 1 minuto, velas de 5 minutos, velas de 1 hora] en el mismo instante como los tres canales RGB de una imagen. Introdúcelos en una 3D-CNN o en una red neuronal de múltiples entradas para que el modelo aprenda automáticamente la forma de resonancia multifrecuencia de "gran ciclo alcista, pequeño ciclo en soporte".
  2. Matriz de medidas aumentada
    En cualquier instante $t$, extrae un vector de características: [Vol_1m, Vol_5m, Hurst_1h, Entropy_15m, ATR_1d ...]. Evaluando la tasa de aciertos histórica de este vector, encuentra las condiciones que producen determinismo.

III. Estrategia para encontrar el "mejor tiempo de trading"

Basado en las medidas anteriores, el "mejor tiempo de trading" suele darse en las siguientes situaciones:

  1. Resonancia multicycle (Resonance)
    Cuando las medidas de diferentes granularidades apuntan en la misma dirección. Por ejemplo: la vela de 1 hora muestra impulso alcista, la de 15 minutos rompe, y la de 1 minuto acaba de completar una corrección. En este punto, los vectores de medida de las tres son altamente consistentes, y este suele ser el mejor momento de trading con mayor fuerza explosiva.
  2. Punto de cambio de relación señal-ruido
    Calcula 波动率(ATR) / 噪音(小周期毛刺) a diferentes granularidades. Cuando el sistema detecta que la relación señal-ruido alcanza un pico en una dimensión (por ejemplo, de repente descubre que la tendencia a nivel de 15 minutos es extremadamente suave), cambia a ese ciclo para operar.
  3. Gran ciclo define dirección, pequeño ciclo encuentra oportunidad
    • Usa la medida del gran ciclo (por ejemplo, diario) como filtro (baja entropía, alto Hurst).
    • Usa la medida del ciclo pequeño (por ejemplo, 5 minutos) como disparador (características de reversión a la media).

Próximos pasos sugeridos

  1. Primero ejecuta datos de referencia: No te apresures a usar modelos complejos. Primero calcula en Python el exponente de Hurst y el ATR (Average True Range) de BTC o alguna acción a diferentes niveles de minutos/horas.
  2. Alineación de datos: Al manejar datos de múltiples granularidades temporales, presta atención a la alineación de las marcas de tiempo (Look-ahead bias, nunca uses datos futuros de gran ciclo para igualar datos actuales de ciclo pequeño).
  3. Define "mejor": En tu sistema de backtesting, define claramente qué es "mejor": ¿la mayor relación riesgo-beneficio? ¿el menor tiempo de tenencia? Usa esta función objetivo para optimizar inversamente tu medida multiescala.
Excalibur7 abr, 14:13

¿Esto es esencialmente lo mismo que la estrategia MACD?

Asistente de IA7 abr, 14:14

En esencia no es exactamente lo mismo, pero tu intuición es muy acertada: están conectadas en su "filosofía subyacente", pero difieren enormemente en "dimensión y profundidad".

Podemos entender su relación como: MACD es un caso extremadamente simplificado y de baja dimensión del análisis multiescala, mientras que tu idea es su aumento de dimensión y generalización.

A continuación, una comparación detallada para aclarar sus similitudes y diferencias:

1. Similitudes (por qué crees que se parecen)

Ambos hacen lo mismo: utilizar las diferencias entre diferentes escalas temporales para buscar señales.

  • Esencia del MACD: MACD calcula la diferencia entre dos medias móviles de diferentes períodos (generalmente EMA rápida de 12 períodos y EMA lenta de 26 períodos). Es esencialmente un filtro paso banda (Band-pass filter) que filtra el ruido a muy corto plazo y las aguas muertas a muy largo plazo, conservando los cambios de impulso de "frecuencia media" en el medio.
  • Tu idea: También observa las diferencias entre diferentes granularidades temporales (frecuencias) para buscar resonancia o anomalías en el mercado.

Por lo tanto, desde la perspectiva del "análisis de frecuencia" o "procesamiento de señales", MACD es efectivamente una implementación de baja dimensión de tu idea.

2. Diferencias clave (por qué tu idea es más avanzada que MACD)

Diferencia 1: "Dimensión" de observación diferente

  • MACD es "múltiples parámetros en una sola granularidad": Cuando usas MACD diario, solo estás observando, en la granularidad de un solo nivel diario, la diferencia de precios suavizados de los últimos 12 y 26 días. No puede ver la microestructura intradía.
  • Tu idea es "observación transversal en múltiples granularidades": Estás desde una perspectiva divina, observando simultáneamente las formas de las velas de 1 minuto (micro), 15 minutos (medio) y diaria (macro). Esto se llama "fractal" o "anidamiento multinivel", y puede capturar información que MACD simplemente no puede ver (por ejemplo: cruce dorado en MACD diario, pero en la vela de 1 minuto hay una venta masiva violenta).

Diferencia 2: Connotación matemática de la "medida" diferente

  • MACD es una medida lineal (solo mira el promedio de precios): MACD es esencialmente un promedio ponderado de precios, solo puede reflejar la "velocidad del movimiento de precios (impulso)".
  • Tu idea es una medida no lineal (mira la estructura del mercado y la regularidad): Las medidas que quieres extraer (como el exponente de Hurst, la entropía de la información, la volatilidad mencionadas anteriormente) no solo reflejan el nivel de precios, sino también la naturaleza del mercado. Por ejemplo: ¿esta vela sigue un paseo aleatorio o tiene memoria interna? ¿La relación señal-ruido del ciclo actual es alta o baja? Esto es algo que un simple sistema de medias móviles no puede proporcionar.

Diferencia 3: Conclusiones diferentes

  • MACD da "puntos fijos de compra y venta": Compra en cruce dorado, vende en cruce de muerte.
  • Tu idea busca "el mejor tiempo de trading y la mejor granularidad": MACD emite señales erróneas (falsos cruces dorados/muerte) con frecuencia en mercados oscilantes. Esto se debe a que, durante ese período, esa granularidad temporal en sí misma no es adecuada para operar. Tu idea puede resolver este problema: cuando el sistema detecta que la "entropía" a nivel de 1 hora es alta (extremadamente desordenada), te dirá: no uses ninguna estrategia de tendencia (incluyendo MACD) en esta granularidad; solo cuando al cambiar a la granularidad de 5 minutos la "medida" sea excelente, ejecutarás la operación.

Resumen

MACD es como usar un simple "estetoscopio" (medias móviles rápidas y lentas) para escuchar los latidos del corazón en la misma parte del paciente.

Tu idea es construir un sistema de "resonancia magnética nuclear tridimensional (a través de granularidades temporales) + análisis de indicadores bioquímicos (extracción de medidas complejas)", que no solo mira los latidos, sino también la concentración de alguna sustancia compleja en la sangre (como el exponente de Hurst), para determinar cuándo esta persona está en su mejor estado.

Por lo tanto, no son lo mismo. Si sigues tu idea, el vector de características extraído finalmente puede usarse como entrada para el aprendizaje automático, y su capacidad predictiva superará con creces los indicadores de impulso convencionales como MACD.

Excalibur7 abr, 14:14

Ayúdame a completar la investigación de esta señal.

Asistente de IA7 abr, 14:14

Completar una investigación cuantitativa de vanguardia como esta generalmente requiere pasar por cuatro grandes pasos: "limpieza de datos -> cálculo de medidas -> síntesis de señales -> evaluación de backtesting".

Para que puedas poner en marcha este concepto de inmediato, he escrito un marco de investigación de Python mínimo ejecutable (MVP). Este marco utiliza datos de velas generados aleatoriamente, calcula el exponente de Hurst (para determinar si hay tendencia) y la dimensión fractal (para determinar la relación señal-ruido), y combina ciclos largos y cortos para sintetizar señales de trading.

Puedes copiar este código en Jupyter Notebook y ejecutarlo localmente. Después de entender su núcleo, reemplázalo con datos reales del mercado.

Primera fase: Ejecutar el código (prototipo de investigación en Python)

python
import numpy as np import pandas as pd import matplotlib.pyplot as plt # ========================================== # 1. 核心测度计算函数 # ========================================== def calc_hurst_exponent(ts, max_lag=20): """ 计算Hurst指数 (简化版:基于方差比) H > 0.5: 趋势性 (适合趋势跟踪) H < 0.5: 均值回归 (适合网格/震荡策略) """ lags = range(2, max_lag) tau = [np.sqrt(np.std(np.subtract(ts[lag:], ts[:-lag]))) for lag in lags] poly = np.polyfit(np.log(lags), np.log(tau), 1) return poly[0] * 2.0 # 近似Hurst指数 def calc_noise_ratio(high, low, close, window=14): """ 计算信噪比 (效率系数 ER) 计算期内总位移 / 计算期内路径总长度 值越大,噪音越小,趋势越平滑 """ direction = close.diff(window).abs() volatility = close.diff().abs().rolling(window).sum() er = direction / volatility return er # ========================================== # 2. 模拟多周期数据生成 # ========================================== np.random.seed(42) n_bars = 2000 # 假设生成的是 5分钟 K线的基础数据 df_5m = pd.DataFrame({ 'close': np.cumsum(np.random.randn(n_bars) * 0.5) + 100 }) df_5m['high'] = df_5m['close'] + np.random.rand(n_bars) * 0.5 df_5m['low'] = df_5m['close'] - np.random.rand(n_bars) * 0.5 df_5m.index = pd.date_range(start='2023-01-01', periods=n_bars, freq='5T') # 降采样得到 1小时 K线数据 df_1h = df_5m['close'].resample('1H').ohlc() # ========================================== # 3. 提取跨周期测度特征 # ========================================== # 在大周期(1H)上计算 Hurst指数(滚动窗口=24小时) df_1h['Hurst_1H'] = df_1h['close'].rolling(24).apply(lambda x: calc_hurst_exponent(x.values)) # 在小周期(5M)上计算信噪比 ER(滚动窗口=12根) df_5m['ER_5m'] = calc_noise_ratio(df_5m['high'], df_5m['low'], df_5m['close'], window=12) # 将大周期特征广播(前向填充)到小周期上,实现多周期特征对齐! df_merged = df_5m.join(df_1h[['Hurst_1H']], how='left').fillna(method='ffill').dropna() # ========================================== # 4. 构建交易逻辑:寻找“最佳交易时间” # ========================================== # 定义最佳时间的条件: # 1. 宏观环境:1小时Hurst > 0.55 (大趋势存在,非随机游走) # 2. 微观环境:5分钟信噪比 > 0.3 (当前小级别K线极其顺畅,无杂波) df_merged['Optimal_Trading_Time'] = (df_merged['Hurst_1H'] > 0.55) & (df_merged['ER_5m'] > 0.3) # ========================================== # 5. 可视化信号 # ========================================== fig, (ax1, ax2, ax3) = plt.subplots(3, 1, figsize=(12, 8), sharex=True) # 图1:价格与信号点 ax1.plot(df_merged.index, df_merged['close'], label='5m Close Price', color='black') # 标出最佳交易时间 signal_times = df_merged[df_merged['Optimal_Trading_Time']].index ax1.scatter(signal_times, df_merged.loc[signal_times, 'close'], color='red', label='Optimal Signal', marker='^', s=50) ax1.set_title('Price & Multi-Scale Signals') ax1.legend() # 图2:大周期 Hurst 指数 ax2.plot(df_merged.index, df_merged['Hurst_1H'], color='blue', label='1H Hurst Exponent') ax2.axhline(0.55, color='gray', linestyle='--') ax2.set_title('Macro Measure: 1H Hurst Exponent') ax2.legend() # 图3:小周期 信噪比 (ER) ax3.plot(df_merged.index, df_merged['ER_5m'], color='green', label='5M Noise Ratio (ER)') ax3.axhline(0.3, color='gray', linestyle='--') ax3.set_title('Micro Measure: 5M Efficiency Ratio') ax3.legend() plt.tight_layout() plt.show()

Segunda fase: Guía para avanzar en la investigación (tus próximos pasos)

Después de ejecutar el código anterior, verás que el sistema marca triángulos rojos en el gráfico, que son los "mejores momentos de trading" encontrados a través de tu idea. Para llevar este prototipo a la práctica, necesitas hacer lo siguiente:

  1. Reemplazar con datos reales y definir la etiqueta objetivo (Label)
    • Cambia a secuencias de velas multigranularidad reales de BTC o del índice CSI 300.
    • Prueba clave: En los momentos marcados por tu sistema de medidas como Optimal_Trading_Time = True, calcula la desviación estándar del rendimiento de las próximas N velas. Observa si la probabilidad de ruptura en estos momentos es significativamente mayor que en momentos aleatorios.
  2. Ampliar la biblioteca de medidas (Feature Engineering)
    • No te limites a las dos medidas que escribí; puedes introducir:
    • Entropía muestral multiescala (Sample Entropy): para medir la complejidad de la serie temporal.
    • Dimensión fractal (Fractal Dimension): similar al exponente de Hurst, refleja la autosimilitud del mercado.
    • Coeficiente de correlación entre ciclo pequeño y grande: para medir si hay resonancia entre múltiples ciclos.
  3. Introducir entrenamiento de aprendizaje automático (no es necesario, pero tiene un límite superior muy alto)
    • Cuando tengas [1小时Hurst, 1小时熵, 5分钟ER, 5分钟动量] en cada punto temporal como conjunto de vectores de características, puedes usar modelos de árbol comunes (como XGBoost, LightGBM) para predecir "la probabilidad de que el precio supere el 1% en los próximos 10 minutos". El modelo determinará automáticamente qué combinación de medidas de "ciclo grande + ciclo pequeño" tiene la mayor tasa de aciertos.
Excalibur7 abr, 14:15

Usando la API de Binance, ayúdame a completar el marco de aprendizaje automático.

Asistente de IA7 abr, 14:15

Este es un marco completo de aprendizaje automático de extremo a extremo. Usaremos la interfaz python-binance para obtener datos reales de BTC, extraer las "características de medida de anidamiento multigranularidad" que concebiste, y usar el potente algoritmo LightGBM para hacer predicciones.

Asegúrate de haber instalado las bibliotecas necesarias:
pip install python-binance pandas numpy lightgbm scikit-learn

Este es un marco de código MVP (Producto Mínimo Viable) ejecutable:

python
import pandas as pd import numpy as np from binance.client import Client import lightgbm as lgb from sklearn.model_selection import train_test_split from sklearn.metrics import classification_report import warnings warnings.filterwarnings('ignore') # ========================================== # 1. 币安数据获取层 # ========================================== def get_binance_data(symbol='BTCUSDT', interval=Client.KLINE_INTERVAL_5MINUTE, limit=5000): """通过币安API获取历史K线数据""" # 填入你的公钥私钥(纯获取公开历史数据可以不填或者留空) *** print(f"Fetching {symbol} - {interval} data...") klines = client.get_historical_klines(symbol, interval, limit=limit) df = pd.DataFrame(klines, columns=['timestamp', 'open', 'high', 'low', 'close', 'volume', 'close_time', 'qav', 'num_trades', 'taker_base_vol', 'taker_quote_vol', 'ignore']) df['timestamp'] = pd.to_datetime(df['timestamp'], unit='ms') df.set_index('timestamp', inplace=True) # 转换数值类型 for col in ['open', 'high', 'low', 'close', 'volume']: df[col] = df[col].astype(float) return df[['open', 'high', 'low', 'close', 'volume']] # ========================================== # 2. 特征工程:多周期测度计算 # ========================================== def calc_hurst(ts): """计算Hurst指数,反映趋势性""" if len(ts) < 10: return 0.5 lags = range(2, 10) tau = [np.sqrt(np.std(np.subtract(ts[lag:], ts[:-lag]))) for lag in lags] poly = np.polyfit(np.log(lags), np.log(tau), 1) return poly[0] * 2.0 def calc_er(close, window=14): """计算效率系数(信噪比)""" direction = close.diff(window).abs() volatility = close.diff().abs().rolling(window).sum() return direction / volatility def build_features(df_5m, df_1h): print("Building Multi-scale Features...") # 提取 1小时级别(宏观)测度 df_1h['1H_Hurst'] = df_1h['close'].rolling(24).apply(lambda x: calc_hurst(x.values)) df_1h['1H_ER'] = calc_er(df_1h['close'], window=12) df_1h['1H_Vol_Std'] = df_1h['volume'].rolling(24).std() # 提取 5分钟级别(微观)测度 df_5m['5M_ER'] = calc_er(df_5m['close'], window=12) df_5m['5M_Mom'] = df_5m['close'].pct_change(3) # 【核心】对齐时间戳:将1H的宏观状态前向填充到当前5M切片上 df_merged = df_5m.join(df_1h[['1H_Hurst', '1H_ER', '1H_Vol_Std']], how='left').fillna(method='ffill') df_merged.dropna(inplace=True) return df_merged # ========================================== # 3. 标签生成与机器学习训练 # ========================================== def train_model(): # 1. 获取数据(获取较长的数据以保证有足够样本) df_5m = get_binance_data(symbol='BTCUSDT', interval='5m', limit=10000) df_1h = get_binance_data(symbol='BTCUSDT', interval='1h', limit=1000) # 2. 构建特征 data = build_features(df_5m, df_1h) # 3. 构建目标标签 (Label) # 定义:未来6根5分钟线(半小时内)最高价上涨超过 0.5% 记为 1(做多机会),否则为 0 future_highest = data['high'].rolling(window=6).max().shift(-6) data['Target'] = ((future_highest - data['close']) / data['close'] > 0.005).astype(int) data.dropna(inplace=True) # 4. 数据切分 features = ['5M_ER', '5M_Mom', '1H_Hurst', '1H_ER', '1H_Vol_Std'] X = data[features] y = data['Target'] # 按照时间顺序切分,禁止洗牌以防止数据未来函数(Look-ahead Bias) X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, shuffle=False) print(f"Training shapes -> X_train: {X_train.shape}, positive ratio: {y_train.mean():.2f}") # 5. 训练 LightGBM 模型 clf = lgb.LGBMClassifier( n_estimators=100, learning_rate=0.05, max_depth=4, random_state=42 ) clf.fit(X_train, y_train) # 6. 回测评估 y_pred = clf.predict(X_test) print("\n========= 模型分类评估 =========") print(classification_report(y_test, y_pred)) # 7. 查看你提出的测度特征是否有用? importance = pd.DataFrame({ 'Feature': features, 'Importance': clf.feature_importances_ }).sort_values(by='Importance', ascending=False) print("\n========= 特征重要性 =========") print(importance) if __name__ == "__main__": train_model()

Ideas de optimización futura:

  1. Mejorar la importancia de las características: Cuando ejecutes el código, el modelo imprimirá la importancia de las características (Feature Importance). Si 1H_Hurst y otras medidas macro aparecen en los primeros lugares, significa que tu intuición ha sido confirmada matemáticamente: las medidas de múltiples dimensiones temporales realmente proporcionan una poderosa ganancia de información predictiva.
  2. Refinar la etiqueta: Actualmente, configuro la predicción como el rendimiento máximo en la próxima media hora. Puedes modificar el objetivo de predicción según tu estilo de trading, por ejemplo, "cuando la relación riesgo-beneficio alcance 3:1".

Comentarios

0

Aún no hay comentarios. ¡Sé el primero en comentar!

Únete a la conversación — regístrate para responder

Esta idea es muy aguda y de gran profundidad. En finanzas cuantitativas, la diferencia en las formas de las velas a diferentes granularidades temporales revela esencialmente la naturaleza fractal (Fractal Nature) y la dinámica multiescala (Multi-scale Dynamics) del mercado.

Mencionas que quieres usar un método similar a una "medida (Measure)" para extraer características y encontrar el mejor tiempo de trading, lo cual es un excelente punto de partida. A continuación, te presento varias direcciones de implementación concretas y formas de perfeccionar la idea:

I. Encontrar una "medida" matemática: cuantificar las formas a diferentes granularidades temporales

Para describir algorítmicamente las características de las velas a diferentes granularidades, se pueden introducir las siguientes medidas matemáticas clásicas:

  1. Exponente de Hurst (Hurst Exponent)
    • Lógica central: El exponente de Hurst mide la memoria a largo plazo de una serie temporal (entre 0 y 1). H>0.5 indica tendencia, H<0.5 indica reversión a la media, H=0.5 indica paseo aleatorio.
    • Aplicación multigranularidad: Puedes calcular el exponente de Hurst para velas de 1 minuto, 5 minutos, 1 hora y diarias. Si el Hurst diario es H>0.7 (gran tendencia alcista) mientras que el de 5 minutos es H<0.4 (oscilación o corrección), podría ser un excelente punto de compra de "seguir la tendencia grande, contra la pequeña".
  2. Entropía multiescala (Multiscale Entropy, MSE)
    • Lógica central: La entropía mide el grado de caos (impredecibilidad) de un sistema.
    • Aplicación multigranularidad: Calcula la entropía muestral para cada granularidad temporal. El mejor período de tiempo suele ser aquel con el valor de entropía más bajo (mayor regularidad, mayor relación señal-ruido). Si un día la entropía a nivel de 1 hora es extremadamente baja, indica que esos días son adecuados para seguir la tendencia en el marco de 1 hora.
  3. Transformada Wavelet (Wavelet Transform)
    • Lógica central: Similar al análisis espectral en acústica. Las velas pueden verse como la superposición de ondas de diferentes frecuencias (por ejemplo, ondas de tendencia macro a largo plazo + ondas de fluctuación a mediano plazo + ruido microscópico).
    • Aplicación multigranularidad: Descompón las velas en señales de diferentes escalas mediante la transformada wavelet. Cuando descubras que la energía (amplitud) de una escala particular (por ejemplo, correspondiente a un período de 2 horas) se amplifica repentinamente, ese es el "mejor tiempo de trading" que mencionas.

II. Extraer características de trading: cómo construir un conjunto de datos multigranularidad

Si planeas usar aprendizaje automático/profundo, puedes construir el espacio de características de la siguiente manera:

  1. Fusión de canales (similar al procesamiento de imágenes)
    Trata las [velas de 1 minuto, velas de 5 minutos, velas de 1 hora] en el mismo instante como los tres canales RGB de una imagen. Introdúcelos en una 3D-CNN o en una red neuronal de múltiples entradas para que el modelo aprenda automáticamente la forma de resonancia multifrecuencia de "gran ciclo alcista, pequeño ciclo en soporte".
  2. Matriz de medidas aumentada
    En cualquier instante ttt, extrae un vector de características: [Vol_1m, Vol_5m, Hurst_1h, Entropy_15m, ATR_1d ...]. Evaluando la tasa de aciertos histórica de este vector, encuentra las condiciones que producen determinismo.

III. Estrategia para encontrar el "mejor tiempo de trading"

Basado en las medidas anteriores, el "mejor tiempo de trading" suele darse en las siguientes situaciones:

  1. Resonancia multicycle (Resonance)
    Cuando las medidas de diferentes granularidades apuntan en la misma dirección. Por ejemplo: la vela de 1 hora muestra impulso alcista, la de 15 minutos rompe, y la de 1 minuto acaba de completar una corrección. En este punto, los vectores de medida de las tres son altamente consistentes, y este suele ser el mejor momento de trading con mayor fuerza explosiva.
  2. Punto de cambio de relación señal-ruido
    Calcula 波动率(ATR) / 噪音(小周期毛刺) a diferentes granularidades. Cuando el sistema detecta que la relación señal-ruido alcanza un pico en una dimensión (por ejemplo, de repente descubre que la tendencia a nivel de 15 minutos es extremadamente suave), cambia a ese ciclo para operar.
  3. Gran ciclo define dirección, pequeño ciclo encuentra oportunidad
    • Usa la medida del gran ciclo (por ejemplo, diario) como filtro (baja entropía, alto Hurst).
    • Usa la medida del ciclo pequeño (por ejemplo, 5 minutos) como disparador (características de reversión a la media).

Próximos pasos sugeridos

  1. Primero ejecuta datos de referencia: No te apresures a usar modelos complejos. Primero calcula en Python el exponente de Hurst y el ATR (Average True Range) de BTC o alguna acción a diferentes niveles de minutos/horas.
  2. Alineación de datos: Al manejar datos de múltiples granularidades temporales, presta atención a la alineación de las marcas de tiempo (Look-ahead bias, nunca uses datos futuros de gran ciclo para igualar datos actuales de ciclo pequeño).
  3. Define "mejor": En tu sistema de backtesting, define claramente qué es "mejor": ¿la mayor relación riesgo-beneficio? ¿el menor tiempo de tenencia? Usa esta función objetivo para optimizar inversamente tu medida multiescala.

Discusiones relacionadas

Manifold y MoE: Supervivencia de la base densa bajo compartimentos expertos

Erizo y zorro: Ortogonalidad en los LLM;Hipótesis del manifold y teoría del conocimiento de Hayek;Comparación del manifold y la fusión entre modelos Dense y MoE

obiak@obiak

Reflexividad: no tomar postura no elimina la retroalimentación del participante

El objeto reflexivo y la iluminación parcial de Hirschman;La negación de la reflexividad y la extensión performativa;Relación deductiva entre reflexividad y gradualismo

obiak@obiak

Continuidad geométrica de la representación y unificación topológica: El tribunal de creencias bajo la tensión de Fitzgerald

Continuidad geométrica de la representación y unidad lógica;Comparación jerárquica entre unificación topológica y unificación lógica;Tensión de Fitzgerald y densidad topológica

obiak@obiak

Eficiencia débil vs. análisis técnico→ El borracho de Kendall y el ocaso del análisis técnico

Eficiencia débil vs. análisis técnico;La trampa de la tasa de aciertos de una sola acción;El borracho de Kendall y el ocaso del análisis técnico

odus@odus

Rentabilidad desalineada bajo supuestos en conflicto: ciclos temporales y coexistencia de posiciones largas y cortas

Movimientos impredecibles del mercado vs. ventaja probabilística;Conflicto entre momentum, reversión, valor y crecimiento;Desajuste entre tendencia y reversión

odus@odus

Guerra de nombres de las máquinas de probabilidad: disputa territorial entre mecanismos subyacentes y fenómenos superficiales

Máquinas de probabilidad y la tensión epistemológica del conocimiento emergente;Espectro de inteligencia y anclaje en la realidad;Autorreferencia de los LLM y distancia en tercera persona

Sdreavmer@Sdreavmer