encontrar múltiples valores máximos en una columnaHola,
Estoy trabajando en una tabla de datos que tiene tiempo y longitud, y los datos de longitud son como una onda. Quiero encontrar el valor máximo de la longitud de cada onda y etiquetar el momento en que ocurre el pico en una nueva columna como "pico".
¿Alguien puede echarle un vistazo y ayudarme con el guión?
Re: encontrar múltiples valores máximos en una columnaHola Jim,
Súper fácil de aplicar el Script, pero el objetivo es que una fórmula en cada nueva columna encuentre los precios de acciones más altos (picos) y coloque -1 y los precios de acciones más bajos coloque 1... dentro de un rango de columnas que defino (columna rango = 1-2 o 1-10 o 1-100 o 1-1000... etc), es decir, en un escenario hipotético usando un historial de precios de acciones... qué momentos durante el día hubieran sido óptimos para comprar acciones a un precio más bajo…. y….. vender acciones en momentos de mayor precio o subida……, de tal forma que pueda entrenar una red neuronal para que aprenda a comprar cuando la acción precio llega a su punto más bajo o 1 y vender cuando el precio de la acción llega a su punto más alto o -1 y cuando el precio está con poco movimiento la fórmula pone 0
Saludos,
marco
Re: encontrar múltiples valores máximos en una columnaAquí está todo lo que necesitas hacer
- Abrir la tabla de datos
- Vaya a Archivo=>Nuevo=>Script. Esto abrirá una ventana de script en blanco.
- Corte y pegue el script de la página web en la ventana Script
- Ejecute el script haciendo clic en el
icono en la ventana de secuencia de comandos
Eso ejecutará el script en la tabla de datos recién abierta.
Le recomiendo encarecidamente que se tome el tiempo de leer el documento Descubriendo JMP disponible en el menú desplegable Ayuda.
Re: encontrar múltiples valores máximos en una columnaQuerido Jim,
Soy nuevo en JMP, ¿podrías adaptar el script a la tabla adjunta?
Saludos
marco
Re: encontrar múltiples valores máximos en una columnaA ver si esto funciona como estás pensando
Names Default To Here( 1 );
dt = Current Data Table();
colCount = N Cols( dt );
// Loop across all of the columns
For( i = 1, i <= colCount, i++,
// Create the new column and set all values to 0
dt << New Column( "Optimal signal" || Char( i ), set each value( 0 ) );
// Get the name of the column to work on
theColName = Column( dt, i ) << get name;
// Find all of the High Points
Eval(
Parse(
"theRows = dt<<GET rows="" where=""> 0,
Column( dt, N Cols( dt ) )[theRows] = -1
);
// Find all of the Low Points
Eval(
Parse(
"theRows = dt<<GET rows="" where="">= :\!"" || theColName
|| "\!"n & lag(:\!"" || theColName || "\!"n,-1) >= :\!"" || theColName ||
"\!"n |
(row()==1 & lag(:\!"" || theColName || "\!"n,-1) >= :\!"" || theColName ||
"\!"n) |
(row()==N Rows(dt) & lag(:\!"" || theColName || "\!"n,1) >= :\!"" ||
theColName || "\!"n)
);"
)
);
// Set the found rows to 1
If( N Rows( theRows ) > 0,
Column( dt, N Cols( dt ) )[theRows] = 1
);
);</GET></GET>Re: encontrar múltiples valores máximos en una columnaAlcance de la tabla de columnas del Anexo 200
Re: encontrar múltiples valores máximos en una columnaHola Súper TxNelsol,
Es un placer saludarlos, una consulta:
Adjunto tabla con 200 columnas de precios de acciones altos y bajos, me gustaría crear nuevas columnas que indiquen o coloquen 1 para precios más bajos y -1 para los precios más altos (picos), 0 para el resto de precios.
Cerrar (200) - 1,18076
Cerrar (199) - 1,18073
Cerrar (198) - 1,18071
Señal óptima1: -1
Señal óptima2: 0
Señal óptima3: 0
Cerrar (200) - 1,18056
Cerrar (199) - 1,18056
Cerrar (198) - 1,18057
Señal óptima1: 0
Señal óptima2: 0
Señal óptima3: 0
Cerrar (200) - 1,18094
Cerrar (199) - 1,18077
Cerrar (198) - 1,1805
Señal óptima1: 0
Señal óptima2: 0
Señal óptima 3: 1
Saludos,
marco
Re: encontrar múltiples valores máximos en una columna¡¡Muchas gracias!!
Re: encontrar múltiples valores máximos en una columnaAquí hay una nueva columna en su tabla de datos que detecta picos.