Bonjour tous le monde,
les données décrivant les mouvements de prix des actions sont créées par le prix d'ouverture / de clôture et le prix max / min. Existe-t-il un moyen de créer une boîte à moustaches (graphique en chandeliers) dans JMP ayant un corps réel à partir du prix d'ouverture et de fermeture et de l'ombre supérieure et inférieure ayant des valeurs en prix max (haut) et min (bas) respectivement, comme dans l'image ci-jointe ou y a-t-il meilleure façon de faire ça? Le traditionnel Boîte à moustaches L'élément, cependant, montre des boîtes à moustaches aberrantes ou quantiles et fournit une vue compacte d'une distribution de valeurs. J'ai joint un exemple de tableau de données dans lequel plusieurs horodatages et valeurs de prix (min, ouvert, fermé et élevé) sont fournis. J'apprécierais des conseils et des suggestions.

(source: Wikipedia)
Meilleures salutations
Je pense que c'est le mieux que JMP puisse faire sans script

Mais avec un peu d'effort, on pourrait facilement écrire du JSL qui créerait les tracés en chandelier.
Oui, comme Jim le souligne, Graph Builder peut le faire facilement. Au fur et à mesure que vous obtiendrez plus de données, vous voudrez peut-être envisager IR (graphiques à plage mobile individuelle), car ils fourniront un aperçu de la cohérence / stabilité des métriques au fil du temps.
J'ai eu un peu plus de temps pour examiner cela, et je pense que la solution simple ci-dessous pourrait être une solution viable pour vous.

Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Stock Prices.jmp" );
dt:open << label;
dt:close << label;
gb = dt << Graph Builder(
Size( 1289, 456 ),
Show Control Panel( 0 ),
Variables( X( :Date ), Y( :High ), Y( :Low, Position( 1 ) ) ),
Elements( Bar( X, Y( 1 ), Y( 2 ), Legend( 10 ), Bar Style( "Interval" ) ) ),
SendToReport(
Dispatch(
{},
"Date",
ScaleBox,
{ Interval( "Day" ), Inc( 1 ),
Minor Ticks( 0 )}
),
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
10,
Properties( 0, {Line Width( 2 )}, Item ID( "High..Low", 1 ) )
)}
)
)
);
// Add the boxes to the chart
Report( gb )[framebox( 1 )] << add graphics script(
halfDayincr = In Days( 1 ) / 2 * .8;
days = (Col Max( :Date ) - Col Min( :Date )) / In Days( 1 );
Pen Color( black );
Pen Size( 2 );
For( i = 1, i <= N Rows( dt ), i++,
If( :Open[i] <= :close[i],
Fill Color( light green );
,
Fill Color( light red );
);
Rect( :date[i] - halfDayincr, Max( :open[i], :close[i] ), :date[i] + halfDayincr, Min( :open[i], :close[i] ), 1 );
Rect( :date[i] - halfDayincr, Max( :open[i], :close[i] ), :date[i] + halfDayincr, Min( :open[i], :close[i] ), 0 );
);
);