uniTimeSeries arima

Performance Case: High-Volume Daily Financial Data Modeling

Scénario de test & Cas d'usage

Business Context

A quantitative analysis team at an investment firm needs to model a long series of daily stock closing prices. Due to the large volume of data (15+ years), the performance and scalability of the ARIMA modeling process are critical for timely analysis and integration into automated trading strategies.
About the Set : uniTimeSeries

Analysis and forecasting of univariate time series.

Discover all actions of uniTimeSeries
Data Preparation

Creation of a large daily time series dataset spanning over 15 years (approx. 5500 observations) to simulate historical stock prices following a random walk pattern.

Copied!
1DATA mycas.daily_stock_prices;
2 FORMAT day date9.;
3 price = 100;
4 DO i = 0 to 5500;
5 day = '01jan2010'd + i;
6 price = price + rannor(67890);
7 OUTPUT;
8 END;
9RUN;

Étapes de réalisation

1
Run the arima action on the large dataset. We specify the 'nThreads' parameter to leverage multi-threading for improved performance. We also limit the generated display tables using the 'display' option to avoid unnecessary computation and output, a common practice in performance-critical jobs.
Copied!
1PROC CAS;
2 uniTimeSeries.arima /
3 TABLE={name='daily_stock_prices', caslib='mycas'},
4 timeId={name='day'},
5 interval='day',
6 nThreads=4,
7 series={name='price', model={estimate={p=1, q=1, diff=1}}},
8 display={'ParameterEstimates', 'FitStatistics'},
9 outFor={name='price_forecast_perf', caslib='mycas', replace=true};
10RUN;
11QUIT;

Expected Result


The action should execute efficiently on the large dataset, demonstrating the benefits of the 'nThreads' parameter. The CAS log should only show the 'ParameterEstimates' and 'FitStatistics' tables as specified. The primary success criterion is the successful and timely completion of the job, producing a valid forecast in the 'price_forecast_perf' table without exhausting system resources.