Saya tertarik pada distribusi drawdown maksimum jalan acak: Misalkan mana . Penarikan maksimum setelah periode adalah . Sebuah makalah oleh Magdon-Ismail et. Al. memberikan distribusi untuk drawdown maksimum dari gerakan Brown dengan drift. Ungkapan ini melibatkan jumlah tak terbatas yang mencakup beberapa istilah yang hanya didefinisikan secara implisit. Saya mengalami masalah dalam menulis implementasi yang konvergen. Adakah yang tahu tentang ekspresi alternatif dari CDF atau implementasi referensi dalam kode?
distributions
cdf
finance
random-walk
shabbychef
sumber
sumber
Jawaban:
Ini adalah jumlah yang berubah-ubah. Setiap pasangan berturut-turut hampir batal; pasangan-jumlah semacam itu akhirnya berkurang secara monoton.
Satu pendekatan, kemudian, adalah untuk menghitung jumlah berpasangan di mana = {1,2}, {3,4}, {5,6}, dll. (Melakukan hal itu juga menghilangkan banyak kesalahan floating point.) Beberapa lebih banyak trik dapat membantu:n
(1) Untuk menyelesaikan untuk konstanta positif , nilai awal yang baik untuk mencari - dan perkiraan yang sangat baik untuk root terbesar - adalah . Saya menduga Newton-Raphson harus bekerja dengan sangat baik.α n th t = ( n + 1 / 2 ) π - αberjemur(t)=t/α α nth t = ( n + 1 / 2 ) π- α( N + 1 / 2 ) π
(2) Setelah sejumlah kecil istilah awal, jumlah pasangan mulai berkurang ukurannya sangat, sangat konsisten. Logaritma dari nilai absolut dari pasangan yang ditempatkan secara eksponensial dengan cepat berkurang hampir secara linear. Ini berarti Anda dapat melakukan interpolasi di antara sejumlah kecil jumlah-pasangan yang dihitung untuk memperkirakan semua jumlah-pasangan yang tidak Anda hitung. Misalnya, dengan menghitung nilai hanya untuk pasangan (2,3), (4,5), (8,9), (16,17), ..., (16384, 16385) dan membangun polinomial interpolasi untuk ini (dianggap sebagai nilai fungsi pada 1, 2, ..., 14) dan menggunakan argumenh = μ = σ= 1 , Saya dapat mencapai ketelitian enam digit untuk kesalahan terburuk. (Lebih bagus lagi, kesalahan terombang-ambing dalam tanda, menunjukkan ketepatan dalam nilai-nilai terinterpolasi yang disimpulkan mungkin sedikit lebih baik dari enam angka.) Anda mungkin bisa memperkirakan jumlah pembatas untuk presisi yang baik dengan mengekstrapolasi secara linear dari akhir nilai-nilai ini (yang diterjemahkan menjadi undang-undang kekuasaan) dan mengintegrasikan fungsi ekstrapolasi hingga tak terbatas. Untuk melengkapi perhitungan contoh ini, Anda juga memerlukan istilah pertama. Itu memberikan ketelitian enam angka dengan hanya 29 istilah yang dihitung dalam penjumlahan.
(3) Perhatikan bahwa fungsi ini sangat tergantung pada dan , bukan pada ketiga variabel ini secara independen. Ketergantungan pada lemah (sebagaimana mestinya); Anda mungkin puas untuk memperbaiki nilainya di seluruh perhitungan Anda.μ / σ Th / σ μ / σ T
(4) Di atas semua ini, pertimbangkan untuk menggunakan beberapa metode akselerasi seri , seperti metode Aitken . Penghitungan yang baik untuk hal ini muncul dalam Numerical Recipes .
Ditambahkan
(5) Anda dapat memperkirakan ekor jumlah dengan integral. Saat menulis , persamaan (dengan ) dapat diselesaikan untuk , yang kecil, dan kemudian untuk dengan mengganti kembali. Memperluas garis singgung dalam seri Taylor di memberikan solusi perkiraan tan ( θ n ) = θ n / a a = μ h / σ 2 t n θ n t nθn= ( N + 1 / 2 ) π- 1 / tn berjemur( θn) = θn/ α α = μ h / σ2 tn θn tn
di mana .z= ( N + 1 / 2 ) π
Asalkan cukup besar, faktor eksponensial dari bentuk menjadi sangat dekat dengan 1 sehingga Anda dapat mengabaikannya. Biasanya istilah ini dapat diabaikan bahkan untuk kecil karena adalah , membuat eksponensial pertama menjadi nol dengan sangat cepat. (Ini terjadi setelah secara substansial melebihi . Lakukan perhitungan Anda untuk besar jika Anda bisa!)1 - exp ( - σ 2 θ 2 n Tn n q 2 n Θ ( n 2 ) n α / T 1 / 2 T1 - exp( - σ2θ2nT2 jam2) exp( - μ2T2 σ2) n θ2n Θ ( n2) n α / T1 / 2 T
Menggunakan ungkapan ini untuk untuk menjumlahkan istilah untuk dan memungkinkan kita memperkirakannya (setelah semua asap hilang) sebagai n n + 1θn n n + 1
Mengganti jumlah mulai dari dengan integral atas mulai dari mendekati ekor. (Integral harus dikalikan dengan faktor umum dari .) Kesalahan dalam integral adalah . Dengan demikian, untuk mencapai tiga angka penting, Anda biasanya perlu menghitung sekitar delapan atau lebih istilah dalam jumlah dan kemudian menambahkan perkiraan ekor ini.N N - 1 / 4 exp ( - α ) O ( 1 / n 4 )n = 2 N N N- 1 / 4 exp( - α ) O ( 1 / n4)
sumber
Anda mungkin mulai dengan melihat fungsi distribusi drawdown di fBasics . Jadi Anda bisa dengan mudah mensimulasikan gerakan brown dengan drift dan menerapkan fungsi ini sebagai permulaan.
sumber