Dear All,
I am trying to write script for running OLS and then plotting the
coefficients
# Define your sample and dataset
open capm.gdt  # Replace with your dataset file
# Define the rolling window size
scalar window_size = 50  # Set the size of the rolling window (e.g., 60
periods)
# Define the variable names
series y = ERFORD  # Replace with your dependent variable
series x = ERSANDP  # Replace with your independent variable
# Initialize series to store rolling estimates
series coef_x = NA  # Stores coefficient for x
series intercept = NA  # Stores intercept (constant term)
# Run rolling regression
loop i = window_size .. $nobs  # Loop from the end of the initial window to
the last observation
    scalar start = i - window_size + 1  # Calculate the starting point of
the window
    sample start i  # Set the sample range for the current rolling window
    ols y const x  # Run OLS on the defined sample
    # Store results
    coef_x[i] = $coeff(x)  # Store the coefficient for x
    intercept[i] = $coeff(const)  # Store the intercept (constant term)
endloop
# Reset the sample to full range after the loop
sample 1 $nobs  # Reset to full sample
# Plot results or save as desired
gnuplot coef_x intercept --with-lines --time-series
I am getting this:
# Define the rolling window size
? scalar window_size = 50  # Set the size of the rolling window (e.g., 60 \
  periods)
Generated scalar window_size = 50
# Define the variable names
? series y = ERFORD  # Replace with your dependent variable
Generated series y (ID 17)
? series x = ERSANDP  # Replace with your independent variable
Generated series x (ID 18)
# Initialize series to store rolling estimates
? series coef_x = NA  # Stores coefficient for x
Generated series coef_x (ID 19)
? series intercept = NA  # Stores intercept (constant term)
Generated series intercept (ID 20)
# Run rolling regression
? loop i = window_size .. $nobs  # Loop from the end of the initial window
to \
  the last observation
 scalar start = i - window_size + 1  # Calculate the starting point of
the 
\
  window
 sample start i  # Set the sample range for the current rolling
window
 ols y const x  # Run OLS on the defined sample
 > # Store results
 coef_x[i] = $coeff(x)  # Store the coefficient for x
 intercept[i] = $coeff(const)  # Store the intercept (constant term)
 endloop 
Parse error at unexpected token 'sample'
> sample start I 
regards
Theo