Skip to content
This repository was archived by the owner on May 8, 2024. It is now read-only.

Commit 49240e2

Browse files
committed
Added initial start
1 parent dfe5804 commit 49240e2

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

src/cuda_simulation.cu

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,8 @@ __global__ void generate_external_path_interest_rate(double **paths, size_t *m0,
5050

5151
if (idx < *m0)
5252
{
53-
for (size_t i = 0; i < *N; i++)
53+
paths[idx][0] = r0;
54+
for (size_t i = 1; i < *N; i++)
5455
{
5556
double dW = generate_gaussian_sample(0, sqrt(dt), &state);
5657
paths[idx][i] = paths[idx][i - 1] + k * (theta - paths[idx][i - 1]) * dt + sigma * dW * sqrt(paths[idx][i - 1]);
@@ -81,7 +82,8 @@ __global__ void generate_external_path_fx(double **paths, size_t *m0, size_t *N,
8182

8283
if (idx < *m0)
8384
{
84-
for (size_t i = 0; i < *N; i++)
85+
paths[idx][0] = S0;
86+
for (size_t i = 1; i < *N; i++)
8587
{
8688
double dW = generate_gaussian_sample(0, sqrt(dt), &state);
8789
paths[idx][i] = paths[idx][i - 1] * exp((mu - 0.5 * sigma * sigma) * dt + sigma * dW);
@@ -104,7 +106,8 @@ __global__ void generate_external_path_equity(double **paths, size_t *m0, size_t
104106

105107
if (idx < *m0)
106108
{
107-
for (size_t i = 0; i < *N; i++)
109+
paths[idx][0] = S0;
110+
for (size_t i = 1; i < *N; i++)
108111
{
109112
double dW = generate_gaussian_sample(0, sqrt(dt), &state);
110113
paths[idx][i] = paths[idx][i - 1] * exp((mu - 0.5 * sigma * sigma) * dt + sigma * dW);

0 commit comments

Comments
 (0)