إنشاء محاكاة مونت كارلو باستخدام إكسيل

Monte Carlo Simulations in Excel (مارس 2024)

Monte Carlo Simulations in Excel (مارس 2024)
إنشاء محاكاة مونت كارلو باستخدام إكسيل

جدول المحتويات:

Anonim

سنطور محاكاة مونت كارلو باستخدام ميكروسوفت إكسيل ولعبة النرد. محاكاة مونت كارلو هي الطريقة العددية الرياضية التي تستخدم تعادلات عشوائية لإجراء العمليات الحسابية والمشاكل المعقدة. اليوم، ويستخدم على نطاق واسع ويلعب دورا رئيسيا في مختلف المجالات مثل التمويل والفيزياء والكيمياء والاقتصاد وغيرها الكثير.

محاكاة مونت كارلو

تم اختراع طريقة مونت كارلو من قبل نيكولا متروبوليس في عام 1947 وتسعى إلى حل المشاكل المعقدة باستخدام أساليب عشوائية واحتمالية. مصطلح "مونت كارلو" ينبع من المنطقة الإدارية في موناكو المعروفة شعبيا باسم المكان حيث النخب الأوروبية مقامرة. نحن نستخدم طريقة مونت كارلو عندما تكون المشكلة معقدة جدا ويصعب القيام بها عن طريق الحساب المباشر. وهناك عدد كبير من التكرارات يسمح بمحاكاة التوزيع الطبيعي.

تحاكي طريقة محاكاة مونتي كارلو احتمالات التكاملات وتحل المعادلات التفاضلية الجزئية، وبالتالي إدخال نهج إحصائي للمخاطر في قرار احتمالي. على الرغم من وجود العديد من الأدوات الإحصائية المتقدمة لإنشاء محاكاة مونت كارلو، فمن الأسهل لمحاكاة القانون العادي والقانون الموحد باستخدام مايكروسوفت إكسل وتجاوز الأسس الرياضية.

بالنسبة لمحاكاة مونتي كارلو، فإننا نعزل عددا من المتغيرات الرئيسية التي تتحكم في وصف التجربة وتصف توزيع الاحتمال بعد إجراء عدد كبير من العينات العشوائية. دعونا نلقي لعبة من الزهر كنموذج.

لعبة النرد

وهنا كيف لعبة النرد لفات:

• لاعب يلقي ثلاثة النرد التي لديها 6 الجانبين 3 مرات.

إذا كان مجموع الرميات 3 هو 7 أو 11، لاعب يفوز.

إذا كان مجموع الرميات 3: 3، 4، 5، 16، 17 أو 18، يفقد اللاعب.

إذا كان المجموع هو أي نتيجة أخرى، لاعب يلعب مرة أخرى وإعادة لف يموت.

• عندما يلقي اللاعب الموت مرة أخرى، تستمر اللعبة بنفس الطريقة، إلا أن اللاعب يفوز عندما يكون المجموع يساوي المبلغ المحدد في الجولة الأولى.

ويوصى أيضا باستخدام جدول بيانات لإنشاء النتائج. وعلاوة على ذلك، هناك حاجة إلى 5 آلاف النتائج لإعداد محاكاة مونت كارلو.

الخطوة 1: النرد المتداول الأحداث

أولا، ونحن تطوير مجموعة من البيانات مع نتائج كل من النرد 3 ل 50 لفات. للقيام بذلك، يقترح استخدام "راندبيتوين (1. 6)" وظيفة. وهكذا، في كل مرة نضغط F9، ونحن توليد مجموعة جديدة من نتائج لفة. خلية "النتيجة" هي مجموع نتائج النتائج من 3 لفات.

الخطوة 2: نطاق النتائج

ثم نحتاج إلى تطوير مجموعة من البيانات لتحديد النتائج المحتملة للجولة الأولى والجولات اللاحقة. يوجد أدناه مجموعة بيانات مكونة من 3 أعمدة.في العمود الأول، لدينا الأرقام من 1 إلى 18. وتمثل هذه الأرقام النتائج المحتملة التالية المتداول النرد 3 مرات: الحد الأقصى هو 3 * 6 = 18. ستلاحظ أن للخلايا 1 و 2، والنتائج هي N / A لأنه من المستحيل الحصول على 1 أو 2 باستخدام 3 النرد. الحد الأدنى هو 3.

في العمود الثاني، يتم تضمين الاستنتاجات المحتملة بعد الجولة الأولى. كما ذكر في البيان الأولي، إما لاعب يفوز (وين) أو يخسر (تفقد) أو انه الاعادة (إعادة لفة)، اعتمادا على النتيجة (مجموع 3 النرد لفات).

في العمود الثالث، تسجل الاستنتاجات المحتملة للجولات اللاحقة. يمكننا تحقيق هذه النتائج باستخدام وظيفة "إذا. "وهذا يضمن أنه إذا كانت النتيجة التي تم الحصول عليها تعادل النتيجة التي تم الحصول عليها في الجولة الأولى، ونحن الفوز، وإلا فإننا نتبع القواعد الأولية للعب الأصلي لتحديد ما إذا كنا إعادة لفة النرد.

الخطوة 3: الاستنتاجات

في هذه الخطوة، نحدد نتائج 50 لفة النرد. يمكن الحصول على الاستنتاج الأول مع وظيفة الفهرس. تبحث هذه الوظيفة النتائج المحتملة للجولة الأولى، الاستنتاج المقابل للنتيجة التي تم الحصول عليها. على سبيل المثال، عند الحصول على 6، كما هو الحال في الصورة أدناه، ونحن نلعب مرة أخرى.

يمكن للمرء الحصول على نتائج الزهر الأخرى لفات، وذلك باستخدام وظيفة "أو" وظيفة مؤشر متداخلة في وظيفة "إذا". هذه الوظيفة تخبر إكسيل، "إذا كانت النتيجة السابقة هي الفوز أو الخسارة،" وقف المتداول النرد لأن مرة واحدة لقد فاز أو فقدنا نقوم به. وبخلاف ذلك، نذهب إلى عمود الاستنتاجات المحتملة التالية ونحدد النتيجة التي توصل إليها.

الخطوة 4: عدد رولز النرد

الآن، نحدد عدد لفائف النرد المطلوبة قبل فقدان أو الفوز. للقيام بذلك، يمكننا استخدام وظيفة "كونتيف"، الأمر الذي يتطلب إكسيل لحساب نتائج "إعادة لفة" وإضافة الرقم 1 إليه. ويضيف واحد لأن لدينا جولة اضافية واحدة، وحصلنا على النتيجة النهائية (الفوز أو الخسارة).

الخطوة 5: المحاكاة

نحن نطور نطاقا لتتبع نتائج المحاكاة المختلفة. للقيام بذلك، سنقوم بإنشاء ثلاثة أعمدة. في العمود الأول، واحد من الأرقام المدرجة هو 5، 000. في العمود الثاني سوف نبحث عن النتيجة بعد 50 لفة النرد. في العمود الثالث، عنوان العمود، وسوف نبحث عن عدد من الزهر لفات قبل الحصول على الوضع النهائي (الفوز أو الخسارة).

ثم سنقوم بإنشاء جدول تحليل الحساسية باستخدام بيانات الميزة أو جدول بيانات الجدول (سيتم إدراج هذه الحساسية في الجدول الثاني والأعمدة الثالثة). وفي تحليل الحساسية هذا، يجب إدراج أعداد الأحداث من 1 إلى 5 000 في الخلية A1 من الملف. في الواقع، يمكن للمرء أن يختار أي خلية فارغة. والفكرة هي ببساطة لإجبار إعادة الحساب في كل مرة، وبالتالي الحصول على لفات الزهر جديدة (نتائج المحاكاة الجديدة) دون الإضرار الصيغ في المكان.

الخطوة 6: الاحتمالات

يمكننا في النهاية حساب احتمالات الفوز والخسارة. ونحن نفعل ذلك باستخدام وظيفة "كونتيف".الصيغة تحسب عدد "الفوز" و "تفقد" ثم يقسم حسب العدد الإجمالي للأحداث، 5، 000، للحصول على نسبة منها من واحد والآخر. نرى أخيرا أدناه أن احتمال الحصول على نتائج الفوز هو 73. 2٪ والحصول على نتيجة تفقد هو بالتالي 26. 8٪.