Προσομοίωση διαδικασίας Wiener στο Octave/matlab

Η διαδικασία Wiener $$(W_t)$$ είναι μια στοχαστική διαδικασία συνεχούς χρόνου. Έχει τρεις κύριες ιδιότητες:

  1. $$W_0 = 0$$
  2. Η διαδικασία είναι σχεδόν συνεχής
  3. Αν 0 < s < t < T, τότε:
    $$ W_t - W_s = \sqrt{t-s} N(0,1) $$

Δηλαδή, αν 0 < t < s < u < v < T
τότε:
$$ W_t - W_s $$ και $$ W_v - W_u $$ είναι ανεξάρτητα

Τα βήματα της διαδικασίας Wiener μπορούν να προσομοιωθούν ως:

$$ dW \backsim \sqrt{dt} N(0,1) $$

Πρόκειται για την απλούστερη στοχαστική διαφορική εξίσωση:

$$ dW = \mu dt + \sigma dX $$

Για την υπολογιστική προσομοίωση:

  1. Παίρνουμε ένα μεγάλο πλήθος στιγμών, πχ 1000
  2. Μηδενίζουμε το διάνυσμα τιμών W
  3. Υπολογίζουμε το $$ dW \backsim \sqrt{dt} N(0,1) $$
  4. Αθροίζουμε το βήματα στο W (cumsum)
  5. Προαιρετικά, κάνουμε το γράφημα (plot)
clear;
T   = 1; 
N   = 1000; 
dt  = T/N; 
W   = zeros(N,1); 
dW  = sqrt(dt)*randn(N,1); 
W   = cumsum(dW);

plot(W)
Time = linspace(0, T, N);
plot(Time, W, 'r', "linewidth", 2)
xlabel('Time');  
ylabel('W(t)');
grid on;
373

Και μια άσκηση: Να πάρετε τμήματα της διαδικασίας W (πχ ανά 100 στιγμές) και να υπολογίσετε το μέσο και τη διακύμανση. Να παραστήσετε γραφικά ως προς t.

Συνδεθείτε για περισσότερες δυνατότητες αλληλεπίδρασης,
σχολιασμοί, εξωτερικοί σύνδεσμοι, βοήθεια, ψηφοφορίες, αρχεία, κτλ.

Creative Commons License
Εκπαιδευτικό υλικό από τον Αθανάσιο Σταυρακούδη σας παρέχετε κάτω από την άδεια Creative Commons Attribution-NonCommercial-ShareAlike 4.0 License.
Σας παρακαλώ να ενημερωθείτε για κάποιους επιπλέον περιορισμούς
http://stavrakoudis.econ.uoi.gr/stavrakoudis/?iid=401.