मैं एक पायथन लाइब्रेरी की तलाश में हूं जो मुझे एक यादृच्छिक प्रक्रिया की (सशर्त) अपेक्षा की तरह स्टोकास्टिक कैलकुस सामान की गणना करने की अनुमति देगी, मैं प्रसार को परिभाषित करता हूं। मैंने सिम्पी (simpy.sourceforge.net) पर एक नज़र डाली थी, लेकिन यह मेरी आवश्यकताओं को कवर नहीं करता है।पायथन में स्टोकास्टिक कैलकुंस लाइब्रेरी
यह त्वरित प्रोटोटाइप और प्रयोग के लिए है। जावा में, मैंने कुछ सफलता (अब निष्क्रिय) http://martingale.berlios.de/Martingale.html लाइब्रेरी के साथ उपयोग किया।
समस्या स्वयं में मुश्किल नहीं है, लेकिन बहुत गैर तुच्छ, बॉयलरप्लेट चीजें करने के लिए बहुत कुछ है (कुशल स्मृति उपयोग, परिवर्तनीय कमी तकनीक, और इसी तरह)।
def my_diffusion(t, dt, past_values, world, **kwargs): W1, W2 = world.correlated_brownians_pair(correlation=kwargs['rho']) X = past_values[-1] sigma_1 = kwargs['sigma1'] sigma_2 = kwargs['sigma2'] dX = kwargs['mu'] * X * dt + sigma_1 * W1 * X * math.sqrt(dt) + sigma_2 * W2 * X * X * math.sqrt(dt) return X + dX X = RandomProcess(diffusion=my_diffusion, x0 = 1.0) print X.expectancy(T=252, dt = 1./252., N_simul= 50000, world=World(random_generator='sobol'), sigma1 = 0.3, sigma2 = 0.01, rho=-0.1)
कोई उदाहरण के लिए numpy में यह reimplementing से कुछ और का पता है:
आदर्श रूप में, मैं कुछ इस तरह (सिर्फ उदाहरण) लिखने में सक्षम हो सकता है?
नोट का उपयोग कर सकते हैं: यह बहुत ही दिलचस्प सामग्री है, लेकिन दुर्भाग्य से यह पथ/समय निर्भर प्रक्रियाओं शामिल करने के लिए प्रतीत नहीं होता: http: // pymc .googlecode.com/svn/doc/index.html) – LeMiz
जीवित रहने के लिए इस तरह की चीजें करना, मैं आपको आश्वस्त कर सकता हूं कि यदि आप quasirandom संख्याओं का उपयोग करते हैं तो आप छोटे कोड (यानी कोई भिन्नता कमी तकनीक) के साथ मिल सकते हैं। सोबोल अनुक्रम)। –
मैं भी एक जीवित (और पेरिस में भी) के लिए ऐसा करता हूं! अपने अंडरलिंग को अनुकरण करते समय समान चित्रों का पुन: उपयोग करने में सक्षम होने के कारण अनुमानक भिन्नता को कम करने के अलावा बहुत उपयोगी हो सकता है। और sobol अनुक्रमों में उनकी कमी भी है। लेकिन निश्चित रूप से, सवाल प्रयोग के बारे में था, उत्पादन कोड नहीं। – LeMiz