Darf ich fragen, ob JMP es mir ermöglicht, wie im Anhang ein animiertes Vorwärtskurvendiagramm zu erstellen?
https://timera-energy.com/the-dangers-of-mixing-forecasts-and-forward-curves/

Hallo Ian
Zusätzlich zu Ihrer hilfreichen Antwort frage ich mich, ob das Skript geändert werden muss, um an diesen Preisdatensatz zu passen.Im Wesentlichen ist die x-Achse das Handelsdatum und die y-Achse der Kassamonat (stellt das Preisdiagramm dar) und die Monate M01 bis M24 (stellt die „Linie“ der Terminkurve für die Preise des 1. bis 24. Monats dar, während sie sich durch die Zeitreihe zieht). .)
Ich weiß, dass meine Bitte vielleicht etwas imposant rüberkommt.Da ich ein Neuling im JMP Graph Builder bin; Ich hatte gehofft, dass Sie mir, wenn es Ihre Zeit erlaubt, helfen könnten, das in einen JMP-Datensatz und Skripte zu integrieren. Durch JMP könnte ich lernen, wie Sie es gemacht haben, und ich werde die Iterationen durcharbeiten.Es ist auch in Ordnung, wenn Sie meiner Anfrage nicht nachkommen können, wenn sie nicht angemessen ist.
Hallo Ian
Vielen Dank.
Ich werde damit experimentieren und sehen, wohin es führt ... sehr geschätzt ...
Der „Animations“-Teil ist einfach, wie dieses Skript zeigt. Aber hier ist die „Vorwärtskurve“ nur eine gerade Linie, aber Sie müssten sich ansehen, wie sie tatsächlich berechnet wird:
NamesDefaultToHere(1);
// Make some data
dt = NewTable("Data", NewColumn("Value", Numeric, Continuous, Formula(RandomNormal(0,1))));
dt << addRows(10);
// Graph the data (this script was built by JMP, apart from the 'add graphics script' part)
dt << Graph Builder(
Size( 535, 467 ),
Show Control Panel( 0 ),
Variables( X( Transform Column( "Row", Formula( Row() ) ) ), Y( :Value ) ),
Elements( Line( X, Y, Legend( 8 ) ) ),
SendToReport(
Dispatch(
{},
"Row",
ScaleBox,
{Min( 0 ), Max( 40 ), Inc( 2 ), Minor Ticks( 1 )}
),
Dispatch(
{},
"Value",
ScaleBox,
{Min( 3 ), Max( -3 ), Inc( 1 ), Minor Ticks( 0 )}
),
Dispatch(
{},
"Graph Builder",
FrameBox,
{Add Graphics Script(
2,
Description( "Script" ),
Pen Color( "Red" );
Line Style( "Dotted" );
dt = Data Table( "Data" );
Line( {N Row( dt ), :Value[N Row( dt )]}, {40, 0} );
), Grid Line Order( 1 ), Reference Line Order( 3 )}
)
)
);
// Add some new data
for(p=11, p<=40, p++, Wait(0.1); dt << addRow(1));