📒
Knowledge-Base
  • Knowledge Base
  • Tutorials
    • Python
      • Introduction
      • Important basic syntax
      • Awesome Python
      • Python 101
      • Python Cheat sheet
      • āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļ‚āļ­āļ‡āļ āļēāļĐāļē
      • Library & Package
      • Variable & Data Types
      • Lists
      • Dictionary
      • Function
      • Built-in Function
        • enumerate()
      • Modules
      • Classes & Objects
      • Inheritance
      • Date & Time
      • āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ Virtualenv
    • Pandas
      • Learning Pandas Second Edition
        • 2. Running with pandas
        • 3. Data with the Series
        • 4. Create DataFrame
        • 5. Manipulating DataFrame Structure
  • e-Book
    • Tech
      • Automate the Boring Stuff
      • A Whirlwind Tour of Python
  • Innovation & Tech
    • Python
    • Pandas
      • 10 Pandas tips
    • Web Scraping
      • Web Scraping 101
      • Requests and BeautifulSoup
  • Industry
    • 20 āđāļ™āļ§āļ„āļīāļ”āļ‚āļēāļĒāļ‚āļ­āļ‡āļ­āļ­āļ™āđ„āļĨāļ™āđŒ
    • āđāļœāļ™āļĢāļ°āļĒāļ°āļĒāļēāļ§āļ‚āļ­āļ‡ Toyota
    • āđ‚āļĨāļāļŦāļĨāļąāļ‡āļĒāļļāļ„āđ‚āļĨāļāļēāļ āļīāļ§āļąāļ’āļ™āđŒ
  • Opinion
    • āļšāļĢāļĢāļĒāļ‡ āļžāļ‡āļĐāđŒāļžāļēāļ™āļīāļŠ: āļāļąāļšāļ”āļąāļāļĢāļąāļāļĢāļēāļŠāļāļēāļĢ 4.0
    • āļ›āļąāļāļāļēāļ āļīāļāđ‚āļ āļ“ Wongnai WeShare
    • āļ›āļĢāļ°āđ€āļ—āļĻāđ„āļ—āļĒāđƒāļ™āļ„āļ§āļēāļĄāļ„āļīāļ” āļ„āļ§āļēāļĄāļ„āļīāļ”āđƒāļ™āļ›āļĢāļ°āđ€āļ—āļĻāđ„āļ—āļĒ
    • āļāļēāļĢāļŠāļ–āļēāļ›āļ™āļē ‘āļĢāļąāļāļšāļĢāļĢāļĐāļąāļ—āļ­āļģāļ™āļēāļˆāļ™āļīāļĒāļĄâ€™ āđƒāļ™āļŠāļąāļ‡āļ„āļĄāđ„āļ—āļĒ
  • People
    • “āļ„āļ§āļēāļĄāļŠāļģāđ€āļĢāđ‡āļˆ āļ”āļĩāđƒāļˆāđ„āļ”āđ‰āļ§āļąāļ™āđ€āļ”āļĩāļĒāļ§â€
    • āđ‚āļ‹āđ€āļŠāļĩāļĒāļĨāļĄāļĩāđ€āļ”āļĩāļĒ āđƒāļ™āļĄāļļāļĄāļĄāļ­āļ‡āļ‚āļ­āļ‡ āļĄāļēāļĢāđŒāļ āļ‹āļąāļāđ€āļ„āļ­āļĢāđŒāđ€āļšāļīāļĢāđŒāļ
  • Parent
    • ADULTIFICTION
    • āļ„āļ§āļēāļĄāļ‰āļĨāļēāļ”āļŠāļĢāđ‰āļēāļ‡āđ„āļ”āđ‰
    • āļāļēāļĢāđ€āļĢāļĩāļĒāļ™āļĢāļđāđ‰āļ‚āļ­āļ‡āļĨāļđāļāđƒāļ™āļ§āļąāļ™āļ™āļĩāđ‰
    • CODING āļ„āļ·āļ­āļ­āļ°āđ„āļĢ
    • āļŠāļ­āļ™ CODING āļ­āļĒāđˆāļēāļ‡āđ„āļĢāđƒāļŦāđ‰āļ‡āđˆāļēāļĒ
    • 8 āļ‚āđ‰āļ­āļ„āļĢāļđāļ„āļ§āļĢāļĢāļđāđ‰ āđ€āļĄāļ·āđˆāļ­āļˆāļąāļ”āļāļēāļĢāđ€āļĢāļĩāļĒāļ™āļĢāļđāđ‰āļœāđˆāļēāļ™āļ›āļĢāļ°āļŠāļšāļāļēāļĢāļ“āđŒ
  • Lift
    • āļ„āļļāļ“āļĢāļđāđ‰āļŠāļķāļāļ§āđˆāļē āđ‚āļĨāļāļ—āļļāļāļ§āļąāļ™āļ™āļĩāđ‰āļŦāļĄāļļāļ™āđ€āļĢāđ‡āļ§āđāļĨāļ°āđāļ„āļšāļĨāļ‡āļŦāļĢāļ·āļ­āđ€āļ›āļĨāđˆāļē?
    • āļ›āļąāļˆāļˆāļļāļšāļąāļ™āđ€āļĢāļēāļ•āđ‰āļ­āļ‡āđ€āļœāļŠāļīāļāļāļąāļšāļ„āļ§āļēāļĄāļ—āđ‰āļēāļ—āļēāļĒāļ­āļ°āđ„āļĢāļšāđ‰āļēāļ‡
    • āļāļŽ 40% āļ‚āļ­āļ‡āļŦāļ™āđˆāļ§āļĒ SEAL
    • e-Book
      • Sapiens – A Brief History of Humankind
        • [āļŠāļĢāļļāļ›] āđ‚āļŪāđ‚āļĄ āđ€āļ‹āđ€āļ›āļĩāļĒāļ™āļŠāđŒ āļŠāļąāļ•āļ§āđŒāļĄāļŦāļąāļĻāļˆāļĢāļĢāļĒāđŒāđāļĨāļ°āļ–āļīāđˆāļ™āļ—āļĩāđˆāļ­āļĒāļđāđˆ
        • āļ•āļ­āļ™āļ—āļĩāđˆ 1- āļāļģāđ€āļ™āļīāļ” Homo Sapiens
        • āļ•āļ­āļ™āļ—āļĩāđˆ 2 – āļŠāļīāđˆāļ‡āļ—āļĩāđˆāļ—āļģāđƒāļŦāđ‰āđ€āļĢāļēāļ„āļĢāļ­āļ‡āđ‚āļĨāļ
        • āļ•āļ­āļ™āļ—āļĩāđˆ 3 – āļĒāļļāļ„āđāļŦāđˆāļ‡āļāļēāļĢāļĨāđˆāļēāļŠāļąāļ•āļ§āđŒāđ€āļāđ‡āļšāļžāļ·āļŠāļœāļĨ
        • āļ•āļ­āļ™āļ—āļĩāđˆ 4 – āļāļēāļĢāļŦāļĨāļ­āļāļĨāļ§āļ‡āļ„āļĢāļąāđ‰āļ‡āļĒāļīāđˆāļ‡āđƒāļŦāļāđˆ
        • āļ•āļ­āļ™āļ—āļĩāđˆ 5 – āļ„āļļāļāļ—āļĩāđˆāļĄāļ­āļ‡āđ„āļĄāđˆāđ€āļŦāđ‡āļ™
        • āļ•āļ­āļ™āļ—āļĩāđˆ 6 – āļāļģāđ€āļ™āļīāļ”āļ āļēāļĐāļēāđ€āļ‚āļĩāļĒāļ™
        • āļ•āļ­āļ™āļ—āļĩāđˆ 7 – āļ„āļ§āļēāļĄāđ€āļŦāļĨāļ·āđˆāļ­āļĄāļĨāđ‰āļģ
        • āļ•āļ­āļ™āļ—āļĩāđˆ 8 – āđ‚āļĨāļāļ—āļĩāđˆāļ–āļđāļāļŦāļĨāļ­āļĄāļĢāļ§āļĄ
        • āļ•āļ­āļ™āļ—āļĩāđˆ 9 – āļĄāļ™āļ•āļĢāļēāļ‚āļ­āļ‡āđ€āļ‡āļīāļ™āļ•āļĢāļē
        • āļ•āļ­āļ™āļ—āļĩāđˆ 10 – āļˆāļąāļāļĢāļ§āļĢāļĢāļ”āļī
        • āļ•āļ­āļ™āļ—āļĩāđˆ 11 – āļšāļ—āļšāļēāļ—āļ‚āļ­āļ‡āļĻāļēāļŠāļ™āļē
        • āļ•āļ­āļ™āļ—āļĩāđˆ 12 – āļĻāļēāļŠāļ™āļēāđ„āļĢāđ‰āļžāļĢāļ°āđ€āļˆāđ‰āļē
        • āļ•āļ­āļ™āļ—āļĩāđˆ 13 – āļĒāļļāļ„āđāļŦāđˆāļ‡āļ„āļ§āļēāļĄāđ„āļĄāđˆāļĢāļđāđ‰
        • āļ•āļ­āļ™āļ—āļĩāđˆ 14 – 500 āļ›āļĩāđāļŦāđˆāļ‡āļ„āļ§āļēāļĄāļāđ‰āļēāļ§āļŦāļ™āđ‰āļē
        • āļ•āļ­āļ™āļ—āļĩāđˆ 15 – āđ€āļĄāļ·āđˆāļ­āļĒāļļāđ‚āļĢāļ›āļ„āļĢāļ­āļ‡āđ‚āļĨāļ
        • āļ•āļ­āļ™āļ—āļĩāđˆ 16 – āļŠāļ§āļąāļŠāļ”āļĩāļ—āļļāļ™āļ™āļīāļĒāļĄ
        • āļ•āļ­āļ™āļ—āļĩāđˆ 17 – āļˆāļēāļ™āļ­āļĨāļđāļĄāļīāđ€āļ™āļĩāļĒāļĄāļ‚āļ­āļ‡āļ™āđ‚āļ›āđ€āļĨāļĩāļĒāļ™
        • āļ•āļ­āļ™āļ—āļĩāđˆ 18 – āļ„āļĢāļ­āļšāļ„āļĢāļąāļ§āļĨāđˆāļĄāļŠāļĨāļēāļĒ
        • āļ•āļ­āļ™āļ—āļĩāđˆ 19 – āļŠāļļāļ‚āļŠāļĄāļšāđˆāļĄāļīāļŠāļĄ
        • āļ•āļ­āļ™āļ—āļĩāđˆ 20 – āļ­āļ§āļŠāļēāļ™ Sapiens
      • Homo Deus
        • [āļŠāļĢāļļāļ›āļŦāļ™āļąāļ‡āļŠāļ·āļ­] Homo Deus
        • āļ•āļ­āļ™āļ—āļĩāđˆ 1: āļŠāļēāļĄāļ§āļēāļĢāļ°āđƒāļŦāļĄāđˆāđāļŦāđˆāļ‡āļ­āļ™āļēāļ„āļ•
        • āļ•āļ­āļ™āļ—āļĩāđˆ 2: āļ„āļģāļŠāļēāļ›āđ€āļĢāļ·āđˆāļ­āļ‡āļ”āļĩāļ­āļļāļŠ
        • āļ•āļ­āļ™āļ—āļĩāđˆ 3: āđ€āļ‹āđ€āļ›āļĩāļĒāļ™āļŠāđŒāļ„āļĢāļ­āļ‡āđ‚āļĨāļāđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āđ„āļĢ
        • āļ•āļ­āļ™āļ—āļĩāđˆ 4: āļžāļĨāļąāļ‡āļ‚āļ­āļ‡āļˆāļīāļ•āļ§āļīāļŠāļąāļĒāļĢāđˆāļ§āļĄ
        • āļ•āļ­āļ™āļ—āļĩāđˆ 5: āļ‚āđ‰āļ­āļ•āļāļĨāļ‡āđ€āļĢāļ·āđˆāļ­āļ‡āļ„āļ§āļēāļĄāļ—āļąāļ™āļŠāļĄāļąāļĒāļāļąāļšāđ€āļ—āļ§āļ—āļąāļ“āļ‘āđŒ
        • āļ•āļ­āļ™āļ—āļĩāđˆ 6: āļ›āļĨāļēāļĒāļ—āļēāļ‡āļ‚āļ­āļ‡āļāļēāļĢāļ›āļāļīāļ§āļąāļ•āļīāļĄāļ™āļļāļĐāļĒāđŒāļ™āļīāļĒāļĄāļ„āļ·āļ­āļ­āļ āļīāļĄāļ™āļļāļĐāļĒāđŒ
        • āļ•āļ­āļ™āļ—āļĩāđˆ 7: āđ„āļĄāđˆāļĄāļĩāļ—āļąāđ‰āļ‡āđ€āļˆāļ•āļˆāļģāļ™āļ‡āđ€āļŠāļĢāļĩāđāļĨāļ°āļ§āļīāļāļāļēāļ“āđƒāļ™āđ‚āļĨāļāļ‚āļ­āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ™āļīāļĒāļĄ (dataism)
        • āļ•āļ­āļ™āļ—āļĩāđˆ 8: āđ€āļ‹āđ€āļ›āļĩāļĒāļ™āļŠāđŒāļāļĨāļēāļĒāđ€āļ›āđ‡āļ™āļŠāļīāđˆāļ‡āļŠāļģāļĢāļļāļ”āļ—āļēāļ‡āļ›āļĢāļ°āļ§āļąāļ•āļīāļĻāļēāļŠāļ•āļĢāđŒāđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āđ„āļĢ
        • āļ•āļ­āļ™āļ—āļĩāđˆ 9: āļĄāļīāļˆāļ‰āļēāļ—āļīāļāļīāļ—āļĩāđˆāļĢāđ‰āļēāļĒāđāļĢāļ‡āļ—āļĩāđˆāļŠāļļāļ”āđƒāļ™āļĒāļļāļ„āļ‚āļąāļ­āļĄāļđāļĨāļ™āļīāļĒāļĄ (dataism)
        • āļ•āļ­āļ™āļ—āļĩāđˆ 10: āļžāļĨāļąāļ‡āļāļļāļ“āļ‘āļēāļĨāļīāļ™āļĩ āļ„āļ·āļ­āđ€āļŠāđ‰āļ™āļ—āļēāļ‡āļŠāļđāđˆāļ”āđ‰āļēāļ™āļŠāļ§āđˆāļēāļ‡āļ‚āļ­āļ‡ Homo Deus
        • āļ•āļ­āļ™āļ—āļĩāđˆ 11: āļ—āļĪāļĐāļŽāļĩāđāļŦāđˆāļ‡āļŠāļĢāļĢāļžāļŠāļīāđˆāļ‡â€‹(Theory​ of​ Everything)​āļ‚āļ­āļ‡āļĨāļąāļ—āļ˜āļīāļ‚āđ‰āļ­āļĄāļđāļĨāļ™āļīāļĒāļĄāļāļąāļšâ€‹āļ§āļīāļ–āļĩāđāļŦāđˆāļ‡āļ•āļąāļ§āļ•āļ™
        • āļ•āļ­āļ™āļ—āļĩāđˆ 12: āđ€āļĢāļēāļ•āđ‰āļ­āļ‡āļāđ‰āļēāļ§āļ‚āđ‰āļēāļĄāđāļ•āđˆāļŦāļĨāļ­āļĄāļĢāļ§āļĄāļĨāļąāļ—āļ˜āļīāļ‚āđ‰āļ­āļĄāļđāļĨāļ™āļīāļĒāļĄ
  • See Behind the FX rate
  • Obtaining Stock Prices
  • Monte Carlo Simulation in Finance Python Part-2
  • The Easiest Data Cleaning Method using Python & Pandas
  • How to use iloc and loc for Indexing and Slicing Pandas Dataframes
  • Converting HTML to a Jupyter Notebook
  • Top 50 Tips & Tricks
Powered by GitBook
On this page

Was this helpful?

Monte Carlo Simulation in Finance Python Part-2

PreviousObtaining Stock PricesNextThe Easiest Data Cleaning Method using Python & Pandas

Last updated 5 years ago

Was this helpful?

enter image description here

āļāļēāļĢāļˆāļģāļĨāļ­āļ‡āđāļšāļšāļĄāļ­āļ™āļ•āļīāļ„āļēāļĢāđŒāđ‚āļĨāđ€āļ›āđ‡āļ™āđ€āļ—āļ„āļ™āļīāļ„āļ—āļĩāđˆāļ›āļĢāļ°āļĄāļēāļ“āļ§āļīāļ˜āļĩāđāļāđ‰āļ›āļąāļāļŦāļēāļ”āđ‰āļ§āļĒāļ§āļīāļ˜āļĩāļāļēāļĢāļŠāļļāđˆāļĄāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ—āļēāļ‡āļŠāļ–āļīāļ•āļī āđƒāļ™āļĢāļ°āļĒāļ°āļŠāļąāđ‰āļ™āđāļšāļšāļˆāļģāļĨāļ­āļ‡āļ„āļ§āļēāļĄāđ€āļ›āđ‡āļ™āđ„āļ›āđ„āļ”āđ‰āļˆāļģāļ™āļ§āļ™āļĄāļēāļ

Monte carlo āđƒāļŠāđ‰āļ­āļĒāđˆāļēāļ‡āļĄāļēāļāđƒāļ™āļāļēāļĢāļ›āļĢāļ°āđ€āļĄāļīāļ™āļ„āļ§āļēāļĄāđ€āļŠāļĩāđˆāļĒāļ‡ āļāļĢāļ“āļĩāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļ—āļĩāđˆāđ€āļ›āđ‡āļ™āļ—āļĩāđˆāļ™āļīāļĒāļĄāļ„āļ·āļ­āļāļēāļĢāļ„āļģāļ™āļ§āļ“āļ„āļ§āļēāļĄāđ€āļŠāļĩāđˆāļĒāļ‡āļŦāļĢāļ·āļ­āļāļēāļĢāļĨāļ”āļĨāļ‡āļ‚āļ­āļ‡āļœāļĨāļ‡āļēāļ™ / āļāļĨāļĒāļļāļ—āļ˜āđŒ āļĄāļąāļ™āļˆāļģāļĨāļ­āļ‡āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāđ€āļ›āđ‡āļ™āđ„āļ›āđ„āļ”āđ‰āļˆāļģāļ™āļ§āļ™āļĄāļēāļāļ‚āļ­āļ‡āļžāļ­āļĢāđŒāļ•āļāļēāļĢāļĨāļ‡āļ—āļļāļ™āļ•āđˆāļēāļ‡āđ†āļ‹āļķāđˆāļ‡āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļ™āļąāļāļĨāļ‡āļ—āļļāļ™āđƒāļ™āļāļēāļĢāļ„āļģāļ™āļ§āļ“āļ„āļ§āļēāļĄāđ€āļŠāļĩāđˆāļĒāļ‡

āļāļĢāļ“āļĩāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļ­āļ·āđˆāļ™ āđ† āļ„āļ·āļ­āļāļēāļĢāļ›āļĢāļ°āđ€āļĄāļīāļ™āļœāļĨāļ•āļ­āļšāđāļ—āļ™āļ‚āļ­āļ‡āļžāļ­āļĢāđŒāļ•āļāļēāļĢāļĨāļ‡āļ—āļļāļ™āļ—āļĩāđˆāđāļ•āļāļ•āđˆāļēāļ‡āļāļąāļ™ āļœāļĨāļ•āļ­āļšāđāļ—āļ™āļžāļ­āļĢāđŒāļ•āļŠāļēāļĄāļēāļĢāļ–āļ–āļđāļāļˆāļģāļĨāļ­āļ‡āđ‚āļ”āļĒ Monte carlo āļ‹āļķāđˆāļ‡āļ—āļģāđƒāļŦāđ‰āđ€āļĢāļēāļĄāļĩāļĄāļļāļĄāļĄāļ­āļ‡āļ—āļĩāđˆāļ™āđˆāļēāļˆāļ°āđ€āļ›āđ‡āļ™āļ‚āļ­āļ‡āļœāļĨāļ•āļ­āļšāđāļ—āļ™āļ—āļĩāđˆāļ„āļēāļ”āļŦāļ§āļąāļ‡āđƒāļ™āļŸāļīāļ§āđ€āļˆāļ­āļĢāđŒāļŠ āļœāļĨāļ•āļ­āļšāđāļ—āļ™āļ‚āļ­āļ‡āļāļ­āļ‡āļ—āļļāļ™āļĢāļ§āļĄāđāļĨāļ° SIP āļ•āđˆāļēāļ‡āđ†āļŠāļēāļĄāļēāļĢāļ–āļ›āļĢāļ°āļĄāļēāļ“āđ„āļ”āđ‰āđ‚āļ”āļĒāļāļēāļĢāļˆāļģāļĨāļ­āļ‡

āļŠāđˆāļ§āļĒāđāļāđ‰āđ„āļ‚āļ›āļąāļāļŦāļēāļ‚āļ­āļ‡āļāļēāļĢāļ›āļĢāļ°āļĄāļēāļ“āļœāļĨāļ•āļ­āļšāđāļ—āļ™āļžāļ­āļĢāđŒāļ•āļāļēāļĢāļĨāļ‡āļ—āļļāļ™

āļāļēāļĢāļ›āļĢāļ°āđ€āļĄāļīāļ™āļœāļĨāļ‡āļēāļ™ / āļœāļĨāļ•āļ­āļšāđāļ—āļ™ SIP āđ‚āļ”āļĒāđƒāļŠāđ‰ python: āļ„āļģāđāļ–āļĨāļ‡āļ›āļąāļāļŦāļēāļ„āļĨāļēāļŠāļŠāļīāļ„āļ‚āļ­āļ‡āļ™āļąāļāļĨāļ‡āļ—āļļāļ™āļ—āļąāđˆāļ§āđ„āļ›āļ„āļ·āļ­āļœāļĨāļ•āļ­āļšāđāļ—āļ™āđ€āļ—āđˆāļēāđ„āļŦāļĢāđˆāļ—āļĩāđˆāļ‰āļąāļ™āļˆāļ°āđ„āļ”āđ‰āļĢāļąāļšāļ–āđ‰āļēāļ‰āļąāļ™āļĨāļ‡āļ—āļļāļ™ 100k āđƒāļ™āļžāļ­āļĢāđŒāļ•āđ‚āļŸāļĨāļīāđ‚āļ­āļ™āļĩāđ‰āļŦāļĢāļ·āļ­ SIP

āđƒāļ™āļšāļ—āļ„āļ§āļēāļĄāļ™āļĩāđ‰āđ€āļĢāļēāļˆāļ°āļžāļĒāļēāļĒāļēāļĄāļŠāļĢāđ‰āļēāļ‡āđāļšāļšāļˆāļģāļĨāļ­āļ‡āđ€āļŠāļīāļ‡āļ›āļĢāļīāļĄāļēāļ“āļ‹āļķāđˆāļ‡āļ•āļ­āļšāļ„āļģāļŠāļĩāđ‰āđāļˆāļ‡āļ›āļąāļāļŦāļēāđ‚āļ”āļĒāđƒāļŠāđ‰āļ§āļīāļ˜āļĩāļāļēāļĢāļ—āļēāļ‡āļŠāļ–āļīāļ•āļīāđ€āļŠāđˆāļ™ Monte Carlo

āļ„āļģāļŠāļĩāđ‰āđāļˆāļ‡āļ›āļąāļāļŦāļē:- āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™ SIP āđāļĨāļ°āļĨāļ‡āļ—āļļāļ™ 10k āļ•āđˆāļ­āļ›āļĩāđ€āļ›āđ‡āļ™āđ€āļ§āļĨāļē 20 āļ›āļĩāļ„āļ§āļēāļĄāļ™āđˆāļēāļˆāļ°āđ€āļ›āđ‡āļ™āļ—āļĩāđˆāļ„āļļāļ“āļˆāļ°āļĄāļĩāļ­āļĒāđˆāļēāļ‡āļ™āđ‰āļ­āļĒ 500k āđ‚āļ”āļĒāļāļēāļĢāļĨāļ‡āļ—āļļāļ™āđƒāļ™āļžāļ­āļĢāđŒāļ•āđ‚āļŸāļĨāļīāđ‚āļ­ Nifty50 āļ„āļ·āļ­āļ­āļ°āđ„āļĢ?

āđ€āļžāļ·āđˆāļ­āļŠāļĢāđ‰āļēāļ‡āļœāļĨāļ•āļ­āļšāđāļ—āļ™āđ€āļĢāļēāļˆāļ°āđƒāļŠāđ‰āļŠāļ­āļ‡āļ›āļąāļˆāļˆāļąāļĒ

  1. āļœāļĨāļ•āļ­āļšāđāļ—āļ™āļ›āļĢāļ°āļˆāļģāļ›āļĩāļ‚āļ­āļ‡ Nifty50

  2. āļ„āļ§āļēāļĄāļœāļąāļ™āļœāļ§āļ™āđƒāļ™āđāļ‡āđˆāļ‚āļ­āļ‡āļ„āđˆāļēāđ€āļšāļĩāđˆāļĒāļ‡āđ€āļšāļ™āļĄāļēāļ•āļĢāļāļēāļ™āļ‚āļ­āļ‡ Nifty50

āļœāļĨāļ•āļ­āļšāđāļ—āļ™āļ›āļĢāļ°āļˆāļģāļ›āļĩāļ‚āļ­āļ‡āļ”āļąāļŠāļ™āļĩ Nifty50 āļ­āļĒāļđāđˆāļ—āļĩāđˆāļ›āļĢāļ°āļĄāļēāļ“ 6% āļ‹āļķāđˆāļ‡ STD āļ­āļĒāļđāđˆāļ—āļĩāđˆāļ›āļĢāļ°āļĄāļēāļ“ 14% āđƒāļŦāđ‰āđƒāļŠāđ‰āļžāļēāļĢāļēāļĄāļīāđ€āļ•āļ­āļĢāđŒāļ—āļĩāđˆāļāļģāļŦāļ™āļ”āļ‚āđ‰āļēāļ‡āļ•āđ‰āļ™āđ€āļžāļ·āđˆāļ­āļŠāļĢāđ‰āļēāļ‡āđāļšāļšāļˆāļģāļĨāļ­āļ‡

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
investment = 10000
expected_returns = 0.06
volatility = 0.14
duration = 20
sip = 10000
print('  \t Returns', '\t\tEnding Value'.rjust(18))
for year in range(duration):
    print(year)
    market_return = np.random.normal(expected_returns, volatility)
    final_value = sip + (1+ market_return)* investment
    print("\t{}".ljust(10).format(round(market_return, 4)), "\t{}".rjust(10).format(round(final_value, 4)))
    investment = final_value

āđ‚āļ„āđ‰āļ”āļ”āđ‰āļēāļ™āļšāļ™āļˆāļģāļĨāļ­āļ‡āļāļēāļĢāļāļĨāļąāļšāļĄāļē 20 āļ›āļĩāđāļĨāļ°āļ„āļ·āļ™āļ„āđˆāļēāļŠāļļāļ”āļ—āđ‰āļēāļĒāļ‚āļ­āļ‡āļžāļ­āļĢāđŒāļ•āļāļēāļĢāļĨāļ‡āļ—āļļāļ™

Output

Returns             Ending Value
0
    0.2561                   22561.1289
1
    0.0928                   34655.5092
2
    -0.138                   39872.5064
3
    0.0865                   53321.1093
4
    0.1583                   71759.1796
5
    0.1259                   90790.097
6
    0.1115                   110909.6445
7
    0.1718                   139965.8365
8
    -0.0201                   147155.0691
9
    0.2655                   196220.1049
10
    -0.0236                   201591.5015
11
    -0.042                   203119.0258
12
    0.167                   247035.5294
13
    0.1628                   297265.0747
14
    0.1371                   348032.9352
15
    0.1336                   404539.7198
16
    0.007                   417365.869
17
    0.1163                   475910.538
18
    0.2389                   599617.6013
19
    0.0652                   648696.5622

āļˆāļēāļāļœāļĨāļāļēāļĢāļˆāļģāļĨāļ­āļ‡āļ›āļąāļˆāļˆāļļāļšāļąāļ™āļ”āļđāđ€āļŦāļĄāļ·āļ­āļ™āļ§āđˆāļēāļ„āļģāļ•āļ­āļšāļ„āļ·āļ­āđƒāļŠāđˆ āļĄāļđāļĨāļ„āđˆāļēāļ‚āļ­āļ‡āļžāļ­āļĢāđŒāļ•āđ‚āļŸāļĨāļīāđ‚āļ­āļœāļĨāļĨāļąāļžāļ˜āđŒāļ­āļĒāļđāđˆāļ—āļĩāđˆ 500k āļ‚āļķāđ‰āļ™āđ„āļ›āđāļĨāļ°āļœāļĨāļĨāļąāļžāļ˜āđŒāļ™āļąāđ‰āļ™āļ­āļ­āļāļĄāļēāļ„āđˆāļ­āļ™āļ‚āđ‰āļēāļ‡āļ”āļĩ

āļāļēāļĢāļˆāļģāļĨāļ­āļ‡āđāļšāļšāļ„āļĢāļąāđ‰āļ‡āđ€āļ”āļĩāļĒāļ§āļŠāļēāļĄāļēāļĢāļ–āļāļĨāļēāļĒāđ€āļ›āđ‡āļ™āļŠāļīāđˆāļ‡āļœāļīāļ”āļ›āļāļ•āļīāđāļĨāļ°āđ€āļĢāļēāļˆāļģāđ€āļ›āđ‡āļ™āļ•āđ‰āļ­āļ‡āđ€āļžāļīāđˆāļĄāļ‚āļ™āļēāļ”āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ‚āļ­āļ‡āđ€āļĢāļēāđ€āļžāļ·āđˆāļ­āļ”āļđāļ āļēāļžāļĢāļ§āļĄāļ—āļąāđ‰āļ‡āļŦāļĄāļ”āđ€āļžāļ·āđˆāļ­āļ•āļąāļ”āļŠāļīāļ™āđƒāļˆāļ§āđˆāļēāļˆāļ°āļ™āļģāđ€āļ‡āļīāļ™āļ—āļĩāđˆāđāļ‚āđ‡āļ‡āļ‚āļ­āļ‡āđ€āļĢāļēāđ„āļ›āļŦāļĢāļ·āļ­āđ„āļĄāđˆ

āđƒāļŦāđ‰āļĨāļ­āļ‡āļˆāļģāļĨāļ­āļ‡āđāļĨāļ°āļŠāļĢāđ‰āļēāļ‡āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāļˆāļ°āļ—āļģāđƒāļŦāđ‰āđ€āļĢāļēāđ€āļ‚āđ‰āļēāđƒāļˆāļ–āļķāļ‡āļŠāļ–āļēāļ™āļāļēāļĢāļ“āđŒ

df = pd.DataFrame()
for i in range(500):
    investment = 10000
    expected_returns = 0.06
    volatility = 0.14
    duration = 20
    sip = 10000
    
    lst = []
#     print('  \t Returns', '\t\tEnding Value'.rjust(18))
    for year in range(duration):
#         print(year)
        market_return = np.random.normal(expected_returns, volatility)
        final_value = sip + (1+ market_return)* investment
#         print("\t{}".ljust(10).format(round(market_return, 4)), "\t{}".rjust(10).format(round(final_value, 4)))
        investment = final_value
        lst.append(final_value)
    df[i] = lst

āđ‚āļ„āđ‰āļ”āļ”āđ‰āļēāļ™āļšāļ™āļˆāļģāļĨāļ­āļ‡āļĄāļēāļāļāļ§āđˆāļē 500 āļ„āļĢāļąāđ‰āļ‡āđāļĨāļ°āđ€āļĢāļēāļˆāļąāļ”āđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨāļāļēāļĢāļˆāļģāļĨāļ­āļ‡āđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰āđƒāļ™āļ”āļēāļ•āđ‰āļēāļ”āļēāļ•āđ‰āļēāđāļžāļ™āļ”āđ‰āļē āđƒāļŦāđ‰āđāļŠāļ”āļ‡āļ āļēāļžāļŠāđˆāļ§āļ™āļŦāļ™āļķāđˆāļ‡āļ‚āļ­āļ‡ dataframe

print(df.iloc[:,:2])

Output

0	1                2
0	22229.617943	20448.533158
1	24306.715133	31140.648303
2	35994.308855	39891.312089
3	43963.087734	50062.167564
4	51900.883942	66432.370685
5	62479.300162	75099.172307
6	65524.730433	73787.355658
7	85917.589865	89581.500809
8	91266.728728	112813.745519
9	97294.635250	115973.096606
10	103298.761423	144182.382385
11	91994.696511	151277.935357
12	123640.768882	187179.876949
13	154033.683903	171367.689533
14	147973.296061	183643.805901
15	155503.105608	205900.096716
16	171824.790117	247289.885521
17	208563.569766	248932.183502
18	237226.274566	270236.831931
19	321988.322998	305742.421754

āđƒāļ™āļāļēāļĢāļĢāļąāļšāļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļŠāļīāļ‡āļĨāļķāļāļ‚āļ­āļ‡āļœāļĨāļāļēāļĢāļˆāļģāļĨāļ­āļ‡āđ€āļĢāļēāļāļģāļĨāļąāļ‡āđƒāļŠāđ‰āļāļēāļĢāļ§āļąāļ”āļ—āļēāļ‡āļŠāļ–āļīāļ•āļī

print('Mean: ', round(df.iloc[-1,:].mean(), 2))
print('STD: ', round(df.iloc[-1,:].std(), 2))
print('MAX: ', round(df.iloc[-1,:].max(), 2))
print('Min: ', round(df.iloc[-1,:].min(), 2))
Mean:  394473.53
STD:  155635.64
MAX:  1226694.81
Min:  111881.56

āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđ€āļŦāđ‡āļ™āļ„āđˆāļēāđ€āļ‰āļĨāļĩāđˆāļĒāļ‚āļ­āļ‡āļāļēāļĢāļˆāļģāļĨāļ­āļ‡āļ­āļĒāļđāđˆāļ—āļĩāđˆāļ›āļĢāļ°āļĄāļēāļ“ 400k āļ‹āļķāđˆāļ‡āļ„āđˆāļēāļŠāļđāļ‡āļŠāļļāļ”āļ„āļ·āļ­āļ›āļĢāļ°āļĄāļēāļ“ 1,200k āđāļĨāļ°āļĄāļđāļĨāļ„āđˆāļēāļžāļ­āļĢāđŒāļ•āļ‚āļąāđ‰āļ™āļ•āđˆāļģāļ„āļ·āļ­āļ›āļĢāļ°āļĄāļēāļ“ 100k

āļŪāļīāļŠāđ‚āļ•āđāļāļĢāļĄāđāļŠāļ”āļ‡āļāļēāļĢāļāļĢāļ°āļˆāļēāļĒāļ—āļĩāđˆāļŠāļąāļ”āđ€āļˆāļ™ āļĨāļ­āļ‡āļžāļĨāđ‡āļ­āļ•āļŪāļīāļŠāđ‚āļ•āđāļāļĢāļĄāļ‚āļ­āļ‡āļœāļĨāļ•āļ­āļšāđāļ—āļ™āļˆāļģāļĨāļ­āļ‡

plt.hist(df.iloc[-1,:], bins = 100);

āļ•āļēāļĄāļ—āļĩāđˆāļ„āļēāļ”āđ„āļ§āđ‰āļœāļĨāļ•āļ­āļšāđāļ—āļ™āļŪāļīāļŠāđ‚āļ•āđāļāļĢāļĄāļˆāļ°āļāļĢāļ°āļˆāļēāļĒāđāļšāļšāļŠāļĄāļĄāļēāļ•āļĢāđƒāļ™āļ‚āļ“āļ°āļ—āļĩāđˆāļ„āđˆāļēāđ€āļ‰āļĨāļĩāđˆāļĒāļ­āļĒāļđāđˆāļĢāļ°āļŦāļ§āđˆāļēāļ‡ 300–400 k

āļ•āļēāļĄāļ›āļąāļāļŦāļēāļžāļšāļ§āđˆāļēāļ„āļ§āļēāļĄāļ™āđˆāļēāļˆāļ°āđ€āļ›āđ‡āļ™āļ—āļĩāđˆāļˆāļ°āđ„āļ”āđ‰āļĢāļąāļšāļœāļĨāļ•āļ­āļšāđāļ—āļ™āļˆāļēāļāļāļēāļĢāļĨāļ‡āļ—āļļāļ™āļĄāļēāļāļāļ§āđˆāļē 500k

sum(df.iloc[-1,:] >= 500000)/len(df.iloc[-1,:])
0.212

āļ”āļąāļ‡āļ™āļąāđ‰āļ™āļ•āļēāļĄāļāļēāļĢāļˆāļģāļĨāļ­āļ‡āđƒāļ™āļ›āļąāļˆāļˆāļļāļšāļąāļ™āļ„āļ§āļēāļĄāļ™āđˆāļēāļˆāļ°āđ€āļ›āđ‡āļ™āļ‚āļ­āļ‡āļœāļĨāļ•āļ­āļšāđāļ—āļ™āļāļēāļĢāļĨāļ‡āļ—āļļāļ™ 500k āļ­āļĒāļđāđˆāļ—āļĩāđˆāļ›āļĢāļ°āļĄāļēāļ“ 20%

āđāļĄāđ‰āļ§āđˆāļēāļœāļĨāļ•āļ­āļšāđāļ—āļ™āļˆāļ°āđ„āļĄāđˆāđ€āļ›āđ‡āļ™āļ­āļĒāđˆāļēāļ‡āļ—āļĩāđˆāđ€āļĢāļēāļ„āļēāļ”āđ„āļ§āđ‰ āđāļ•āđˆāđƒāļŦāđ‰āđāļšāđˆāļ‡āļœāļĨāļ•āļ­āļšāđāļ—āļ™āđ€āļ›āđ‡āļ™āļ„āļ§āļēāļĄāļ™āđˆāļēāļˆāļ°āđ€āļ›āđ‡āļ™āļ•āđˆāļ­āđ„āļ›

percentile = np.percentile(df.iloc[-1,:], [5, 10, 15, 25, 50, 75, 85, 90, 95] )
for i in range(len(percentile)):
    l = [5, 10, 15, 25, 50, 75, 85, 90, 95]
    print(f'  { 100 - l[i] } % percent probability final value >= {round( percentile[i], 2)} ')
95 % percent probability final value >= 201723.86 
  90 % percent probability final value >= 223506.64 
  85 % percent probability final value >= 248068.5 
  75 % percent probability final value >= 281118.68 
  50 % percent probability final value >= 367363.73 
  25 % percent probability final value >= 464394.42 
  15 % percent probability final value >= 540143.74 
  10 % percent probability final value >= 586180.1 
   5 % percent probability final value >= 681661.15

āđ‚āļ„āđ‰āļ”āļ‚āđ‰āļēāļ‡āļ•āđ‰āļ™āđāļšāđˆāļ‡āļāļēāļĢāļˆāļģāļĨāļ­āļ‡āđ€āļ›āđ‡āļ™āļāļĨāļļāđˆāļĄāļ„āļ§āļēāļĄāļ™āđˆāļēāļˆāļ°āđ€āļ›āđ‡āļ™āļ‹āļķāđˆāļ‡āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āđ€āļĢāļēāđ€āļ‚āđ‰āļēāđƒāļˆāļ–āļķāļ‡āļœāļĨāļ•āļ­āļšāđāļ—āļ™āđ„āļ”āđ‰āļ”āļĩāļ‚āļķāđ‰āļ™āļ”āđ‰āļ§āļĒāļ„āļ§āļēāļĄāļ™āđˆāļēāļˆāļ°āđ€āļ›āđ‡āļ™ āļŦāđˆāļ­āļŠāļīāđˆāļ‡āļ•āđˆāļēāļ‡ āđ† āļ‚āļķāđ‰āļ™āļĄāļē

āđƒāļ™āļšāļ—āļŠāđˆāļ§āļĒāļŠāļ­āļ™āļ™āļĩāđ‰āđ€āļĢāļēāđ€āļĢāļĩāļĒāļ™āļĢāļđāđ‰āļ§āļīāļ˜āļĩāļāļēāļĢāđƒāļŠāđ‰āđāļšāļšāļˆāļģāļĨāļ­āļ‡ Monte Carlo āđƒāļ™āļāļēāļĢāļ›āļĢāļ°āļĄāļēāļ“āļœāļĨāļ•āļ­āļšāđāļ—āļ™āļˆāļēāļāļāļēāļĢāļĨāļ‡āļ—āļļāļ™

āđ‚āļ›āļĢāļ”āļāļĨāļąāļšāļĄāļēāļ•āļĢāļ§āļˆāļŠāļ­āļšāļ­āļĩāļāļ„āļĢāļąāđ‰āļ‡āđƒāļ™āļ•āļ­āļ™āļ—āļĩāđˆ 3 āļ‚āļ­āļ‡āļšāļ—āļŠāđˆāļ§āļĒāļŠāļ­āļ™āļ™āļĩāđ‰āļ‹āļķāđˆāļ‡āđ€āļĢāļēāļˆāļ°āļ­āļ˜āļīāļšāļēāļĒāļ§āļīāļ˜āļĩāļāļēāļĢāđƒāļŠāđ‰āđāļšāļšāļˆāļģāļĨāļ­āļ‡āđ€āļžāļ·āđˆāļ­āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļ„āļ§āļēāļĄāđ€āļŠāļĩāđˆāļĒāļ‡

Source :