Julia anyone?

Interessantes ohne bestimmtes Thema!

Moderator: student

Athomas
Beiträge: 768
Registriert: Mo Feb 26, 2018 8:19 pm

Re: Julia anyone?

Beitrag von Athomas »

OK, kann auch Rotwein (ungekühlt) sein
Assmannhäuse Höllebesch!

Beim "Umschreiben" des Programms habe ich mich stark an Deine Vorlage gehalten, da müsste man meine Ergänzungen noch etwas glätten.
Auch müsste man - wenn die exakte Reproduzierbarkeit für Dich wichtig ist - noch etwas investieren.
Bitte beachten: das läuft so auf Linux (Ubuntu) - was bei Windows (wg. parallel) passiert, kann ich nicht sagen...

Code: Alles auswählen

library(Rcpp)
library(parallel)

#-------------------------------------------------------------------------------

cppFunction('double Simulation(double vStart, double SStart, double dt, double r, 
                                double q, double theta, double kappa,  double sigma,
                                NumericVector randv, NumericVector randS) {
  int n = randv.size();
  double v = vStart;
  double S = SStart;
  double vneu = 0;
  double Sneu = 0;
  double dt_vt = 0;
  for(int i = 0; i < n; ++i) {
    dt_vt = kappa*(theta - v)*dt + sigma*sqrt(v*dt)*randv[i];
    vneu = v + dt_vt;
    if (vneu <= 0) 
      vneu = vneu - 2*dt_vt;
    Sneu = S*exp((r - q - v/2)*dt + sqrt(v*dt)*randS[i]);
    v = vneu;
    S = Sneu;
  }
  return S;
}')

#-------------------------------------------------------------------------------

einWert <- function(lnr, S, Tm, r, q, v0, theta, rho, kappa, sigma){  
  NSteps <- floor(Tm*252)
  dt <- Tm/NSteps
  rand.v <- rnorm(NSteps)
  rand.h <- rnorm(NSteps)
  sqrho  <- sqrt(1 - rho^2)
  rand.S <- rho * rand.v + sqrho * rand.h
  Wert   <- Simulation(v0, S, dt, r, q, theta, kappa, sigma, rand.v, rand.S)
  return(Wert)
}

#-------------------------------------------------------------------------------

HestonSV_MC <- function(S, Tm, r, q, v0, theta, rho, kappa, sigma, NPaths, seed){
  set.seed(seed)
  
# Hier mc.cores auf die verfügbaren Threads ändern!  
  
  Results <- mclapply(1:NPaths, FUN="einWert", S=S, Tm=Tm, r=r, q=q, v0=v0, theta=theta, 
                    rho=rho, kappa=kappa, sigma=sigma, mc.cores = 40)
  return(unlist(Results))
}

#-------------------------------------------------------------------------------

r <- 0.01
Tm <- 1

St <- HestonSV_MC(S=100, Tm=1, r=0.01, q=0.02, v0=0.04, theta=0.25, rho=-0.5, 
                  kappa=4.0, sigma=1.0, NPaths=1000000, seed=606060)

Results <- data.frame(Strike=seq(80,120,10))
Results$PriceCall <- NA
Results$PricePut <- NA

for(i in 1:nrow(Results)){
  Results$PriceCall[i] <- exp(-r*Tm)*mean(pmax(St - Results$Strike[i], 0))
  Results$PricePut[i] <- exp(-r*Tm)*mean(pmax(Results$Strike[i] - St, 0))
}

print(Results)
Benutzeravatar
student
Beiträge: 674
Registriert: Fr Okt 07, 2016 9:52 am

Re: Julia anyone?

Beitrag von student »

Hallo!

Nach ein paar Monaten wieder etwas zu Julia! Ich habe an der Julia-Con in Eindhoven (91.12.2023) teilgenommen und basierend auf den Vorträgen, fühle ich mich in meinem Eindruck bestätigt. Im Vergleich zu vergangenen Veranstaltungen, spielte die statistische Datenanalyse keine Rolle. Es drehte sich alles um Simulationen, entweder über pure Mathematik oder mit Unterstützung durch Neuronale Netze. Auch ging es um Julia-Internes, wie z. B. warum ein compiliertes Julia-Skript einen recht großen Umfang hat.

Die Vorträge fanden nur auf PowerPoint-Ebene statt, ich vermisste z. B. die Visualisierung als Screen-Video einer Simulation/Optimierung durch einer der vorgestellten Pakete/Methoden. Eine Real-time-Darstellung ist immer "gefährlich" und habe ich auch nicht erwartet.

Es gab 21 Vorträge, inkl. der Sponsoren. Die Örtlichkeit war ansprechend und das Umfeld war positiv. Grenzwertig war der Kaffee-Bereich für Sprecher. Das hat eine innere Kommunikationsgrenze aufgebaut. M. E., schwang die Botschaft "Tut etwas für Julia und die Community, sonst führt Julia ein Nischendasein!" mit. Ist aber nur mein Eindruck.
Dateianhänge
JuliaCon_Eindhoven.jpg
Viele Grüße,
Student
-----------------------------------------------------------------------------------------------------------------------
faes.de, Datenanalyse mit R & das Ad-Oculos-Projekt
Das Ad-Oculos-Projekt auf YouTube

Habe Mut, dich deines eigenen Verstandes zu bedienen! (Kant)
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: Julia anyone?

Beitrag von bigben »

Schöner kleiner Bericht und schön, dass Du dran bleibst. In meiner persönlichen Bubble taucht Julia eher seltener auf als vor einem Jahr, aber das hat vielleicht gar nichts zu bedeuten.

Viele Grüße,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Antworten