Subsistema "Gestión de Activos" - página 8

 

He intentado crear mi propio programa de cálculo de carteras de acciones. Optimización por el método minimax (modificado para las cotizaciones).

Se toman dos carteras para el cálculo: Larga - sólo para las posiciones largas y Corta - sólo para las posiciones cortas. Se supone que hay que asignar 100 dólares a la cartera larga y 100 dólares a la cartera corta. Aquí están los resultados:

Nota:

Todos los cálculos se basan en los precios netos de cierre, excluyendo los diferenciales, los swaps y las comisiones.

La primera columna es la proporción en $ para la renta variable (o por analogía, como porcentaje de inversión).

Segunda columna - beneficio

Tercera columna - instrumento financiero (acciones)

Total - beneficio total de la cartera.

Al principio no entendía por qué la optimización incluía en la cartera acciones perdedoras a sabiendas, es decir, cuya ganancia esperada es negativa. Entonces descubrí que si se eliminaban estas acciones deficitarias, el resultado final seguramente aumentaría, pero llevaría a profundas reducciones de capital.

 

a Neutrón

He sacado mis archivos, es cierto, usar un modelo tan lineal da una mierda total. Nada funciona. Por lo tanto, no comparto su optimismo "malsano".


a Reshetov

Eso es interesante, pero no puedo entender lo que se hace. Parece un "sapo". Y tampoco puedo comparar dos frases: "Intenté crear mi propio programa" y "Al principio no podía entender por qué la optimización incluye la pérdida de acciones en la cartera a sabiendas". Acabas de utilizar algún modelo de optimización externo o alguna "caja cerrada con algo de inteligencia metida dentro" - digamos, HC o GA. Pero sigo sin entender por qué el "algoritmo por sí mismo" empuja algo en alguna parte. Si este es el NS, entonces en qué datos se entrenaron (es decir, dónde obtuvieron la "puntuación óptima").

 
Cartera óptima de acciones estadounidenses

Calculado sobre la base de 130 barras de media hora, es decir, para las dos últimas semanas - 10 sesiones de negociación en 35 instrumentos financieros (32 valores del Dow Jones Industrial Average y 3 valores de índice) utilizando el criterio de Laplace mejorado.

La optimización implica un criterio entre la máxima rentabilidad de cada dólar invertido y la mínima detracción del depósito. Por lo tanto, no hay que sorprenderse si se añaden a la cartera algunos activos que se sabía que iban a incurrir en pérdidas durante el periodo examinado, ya que su función es de cobertura, es decir, de mitigación del riesgo de caída de los depósitos. Los activos deficitarios y rentables de la cartera siempre tendrán la mayor correlación negativa. Sin embargo, no son necesariamente activos deficitarios y rentables. Si la cartera sólo se compone de activos rentables, se sigue teniendo en cuenta la correlación negativa entre los activos de alto y bajo rendimiento. En ese caso, los activos de bajo rendimiento desempeñarán una función de cobertura para los activos de alto rendimiento.

Los cálculos no tienen en cuenta: los diferenciales, las comisiones de intermediación, los dividendos y los swaps entre sesiones. Todos los cálculos se basan en el precio de oferta de los activos, es decir, sin apalancamiento.

Se supone que un inversor dispone de 100 dólares, que debería invertir de forma óptima en activos de la bolsa americana - la primera columna de la tabla. El número resultante debe dividirse aritméticamente por el valor del activo para obtener el número de acciones necesario.

A diferencia de otras valoraciones, en este caso no sólo se considera la estrategia de Buy and Hold, sino también la venta en corto de activos.

Hora de cálculo de la cartera: 14 de diciembre 14:07:06 PKT 2008 +5 GMT

Inversión en porcentaje
(o en dólares estadounidenses,
si tiene intención de invertir
$100)
Ingresos netos
basados en
10 sesiones de negociación anteriores
Tipo de acuerdo
Identificador del instrumento financiero
33.05084745762712
2.0021482616456328
Corto:
Venta en corto
#AA - Alcoa Inc.
16.10169491525424
1.2221768429650823
Corto:
Venta en corto
#C - Citigroup Inc.
3.389830508474576
0.5328795647403892
Corto:
Venta corta
#EK - Eastman Kodak Company
24.576271186440678
6.376797637390857
Corto:
Venta corta
#GM - General Motors Corporation
0.847457627118644
0.014509420375525273
Corto:
Venta corta
#JPM - JPMorgan Chase & Co.
22.033898305084747
3.572262255150715
Corto:
Venta en corto
#MMM - Empresa 3M.
Total:
13.720773982268202
 
grasn писал(а) >>

a Neutrón

Eso es interesante, pero no puedo entender lo que se hace. Parece un "sapo".

No importa en qué se haga. De hecho, el resultado final está en una aplicación Java. Pero se puede implementar en MQL4 con una pérdida relevante de velocidad, que por el momento no es del todo aceptable, ya que es difícil encajar los cálculos en el marco de tiempo entre las sesiones de comercio. Hasta ahora la implementación es en dos lenguajes de programación: La aplicación Java lanza la terminal MT4 especificando el Asesor Experto en MQL4 en la línea de comandos. El Asesor Experto descarga las cotizaciones y las procesa previamente. Almacena los resultados en un archivo. Después de procesar el script, el terminal se descarga automáticamente y el programa Java recibe el código de apagado del terminal y toma los datos del archivo y realiza la optimización. Los resultados se muestran en la ventana de la aplicación y en el archivo como página web.

grasn escribió >>

a Neutrón

¿Se trata de un modelo de optimización externo o de una especie de "caja cerrada con inteligencia metida dentro", por ejemplo, HC o GA? Pero sigo sin entender por qué el "algoritmo por sí mismo" empuja algo en alguna parte. Si es NS, en qué datos se entrenaron (es decir, de dónde sacaron la "cuenta óptima")

Se trata de la optimización de la matriz de pagos por criterios. Es decir, no GA, ya que GA encuentra un único extremo y por lo tanto es un ajuste. El mejor activo, es decir, el único que se encuentra en el extremo de la rentabilidad, se puede encontrar mucho más fácilmente, es decir, dividir el beneficio del periodo analizado por el precio inicial de la acción - oscilador de impulso e invertir allí donde se obtiene el máximo resultado. Es decir, la optimización mediante algoritmos adicionales para encontrar el máximo rendimiento es redundante, porque sólo hay una solución. En cuanto a las redes neuronales, tampoco tiene sentido, porque no está nada claro lo que hay que introducir en las entradas.

La optimización entra en juego cuando además de la máxima rentabilidad hay que tener en cuenta el riesgo de drawdown. Teniendo en cuenta lo anterior y el teorema minimax, la solución óptima encontrada puede no ser la única (el teorema establece que hay al menos una solución).

 

a Reshetov


Luchando contra la crisis, se me pasó tu respuesta :o). Gracias por la aclaración.


...Т.е. оптимизация дополнительными алгоритмами для поиска максимальной доходности излишняя, поскольку решение единственное... Смысл оптимизации проявляется тогда, когда необходимо помимо максимальной прибыльности еще и учитывать риск просадок.

Escribí que iba a tener en cuenta muchos más parámetros, incluyendo no sólo la reducción de la deuda, sino también el riesgo de la propia operación. Y el modelo es de hecho más complejo - en la imagen he mostrado una <parte de segmentos>:



Los clientes están "secuencialmente" en diferentes instrumentos, con diferente correlación de sus características (toda esa variedad descrita anteriormente) y tiempos de inicio. Y ya empieza a tener sentido: tener en cuenta el futuro beneficio "teórico" de cada operación en la optimización. Por tanto, la búsqueda del óptimo es bastante relevante y parece que el LP es la única y eficaz herramienta. Hasta aquí, sin mucha explicación (parece obvio), pero aquí aparece dicho gráfico de operaciones previstas (en cierto sentido, muy condicionado):



Donde la ramificación es la toma de decisiones para la apertura de nuevas operaciones (incluyendo el "desbordamiento" del beneficio por "canales", o mejor dicho por activos). Bueno, es una larga historia, de momento esto es breve. Espero (si el tiempo lo permite) publicar pronto estudios más detallados.

En cuanto a las redes neuronales, tampoco tiene sentido, porque no está claro qué alimentar en las entradas.

Estoy de acuerdo

 

He releído mi post y he decidido aclarar el aspecto del gráfico por si acaso. Ya debería estar todo claro aquí:


Y eso es lo que estoy ejecutando LP - resultados muy interesantes :o)

 
¿Sigue siendo relevante el tema? ¿Se ha considerado la programación objetiva (multicriterio) para la gestión óptima de los activos? (en lugar de lineal)
 
fevrall >> :
¿Sigue siendo relevante el tema? ¿Se ha considerado la programación por objetivos (multicriterio) para la gestión óptima de activos? (en lugar de lineal)

Por supuesto que sí, si tienes algo que decir, en el sentido de ofrecer.

 

Un problema de programación objetivo es un problema sobre la composición óptima, bajo unas restricciones dadas. Es decir, si hay varias funciones objetivo lineales, posiblemente conflictivas, se puede utilizar la programación objetivo para encontrar una solución de compromiso. No he utilizado este método para la gestión de activos, pero he pensado que también podría utilizarse aquí. Se diferencia de la programación lineal en que ésta implica una TF, mientras que la programación por objetivos implica varias.

 
Los detalles son más interesantes; conozco la descripción general y conceptual. Al menos la formalización de la parte de la puesta en escena es un comienzo.