एसेट प्राइस प्रेडिक्शन
अब आप एक न्यूरल नेटवर्क का उपयोग करके किसी asset price का प्रेडिक्शन कर सकते हैं, जो quantitative financial analysis और risk management का एक बड़ा हिस्सा है.
आप 2005-2010 के दौरान Citibank, Goldman Sachs और J. P. Morgan के स्टॉक प्राइस का उपयोग करके नेटवर्क को ट्रेन करेंगे ताकि वह Morgan Stanley के स्टॉक का प्राइस प्रेडिक्ट कर सके.
आप एक इनपुट लेयर, एक आउटपुट लेयर और दो hidden layers वाला न्यूरल नेटवर्क बनाएँगे और ट्रेन करेंगे.
इसके बाद एक scatter plot दिखाया जाएगा ताकि यह देखा जा सके कि 2005-2010 के दौरान predicted Morgan Stanley प्राइस अपने actual मानों से कितने दूर हैं. (ध्यान रखें, अगर प्रेडिक्शन perfect हों, तो scatter plot की बिंदुएँ प्लॉट की 45-डिग्री रेखा पर आएँगी.)
Sequential और Dense ऑब्जेक्ट उपलब्ध हैं, साथ ही prices DataFrame में 2005-2010 के investment banks के प्राइस दिए गए हैं.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Quantitative Risk Management
अभ्यास निर्देश
- इनपुट डेटा के रूप में Morgan Stanley को छोड़कर बाकी सभी बैंकों के
pricesलें, और आउटपुट डेटा के रूप में केवल Morgan Stanley केpricesलें. - दो
Densehidden layers के साथ एकSequentialन्यूरल नेटवर्कmodelबनाएँ: पहली लेयर में 16 न्यूरॉन्स हों (और तीन input न्यूरॉन्स), तथा दूसरी में 8 न्यूरॉन्स हों. - Morgan Stanley के प्राइस को दर्शाने के लिए 1 न्यूरॉन वाली एक single Dense आउटपुट लेयर जोड़ें.
- न्यूरल नेटवर्क को compile करें, और
modelको fit करके उसे ट्रेन करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Set the input and output data
training_input = prices.____('Morgan Stanley', axis=1)
training_output = prices['Morgan Stanley']
# Create and train the neural network with two hidden layers
model = ____()
model.add(Dense(16, input_dim=____, activation='sigmoid'))
model.add(____(8, activation='relu'))
model.add(____(1))
model.____(loss='mean_squared_logarithmic_error', optimizer='rmsprop')
model.____(training_input, training_output, epochs=100)
# Scatter plot of the resulting model prediction
axis.scatter(training_output, model.predict(training_input)); plt.show()