Skip to main content

Monte Carlo Stock/Crypto Price Simulation Tool

Project description

StockSim

Monte Carlo Stock & Crypto Price Simulation Tool

StockSim is a Python command-line tool for estimating the probability of gain for stocks, cryptocurrencies, or indices using Monte Carlo simulation and real historical data.


Features

  • Simulate future price paths for stocks, crypto, or indices
  • Uses real historical data via yfinance
  • Multiprocessing for fast simulations
  • Command-line interface

Requirements

  • Python 3.7–3.12 (not compatible with Python 3.13)
  • See requirements.txt for required packages

Installation

From PyPI (recommended)

pip install stocksim

From source

git clone https://github.com/ElementalPublishing/StockSim.git
cd StockSim
pip install -e .

Usage

After installation, run from the command line:

stocksim

Or, if running from source:

python -m stocksim.main

Command-Line Options

You can run StockSim with the following options:

  • --symbol
    Ticker symbol (e.g., BTC-USD, ETH-USD, AAPL, SPX:IND, EURUSD:CUR)

  • --years
    Investment period in years (e.g., 1)

  • --simsize
    Simulation size: small, medium, or large

Examples:

stocksim --symbol BTC-USD --years 5 --simsize large
stocksim --symbol AAPL --years 3 --simsize medium

If you omit any option, the program will prompt you for input interactively.


Build Windows Executable (Optional)

To build a Windows executable with your custom icon:

pyinstaller --icon=shaggy.ico --name=StockSim stocksim/main.py
  • The EXE will be in the dist folder as StockSim.exe.

Notes

  • Compatible with Python 3.7–3.12, PyInstaller 5.13.2, and setuptools <80 (tested with 79.0.1).
  • Note: Logging to files has been removed due to compatibility issues. All output is now printed to the console.
  • For issues or feature requests, please use the GitHub Issue Tracker.

Note:
If you get a 'stocksim' is not recognized as an internal or external command error, you may need to add your Python Scripts directory to your system PATH.

For a typical Python installation on Windows, add:

C:\Users\<YourUser>\AppData\Local\Programs\Python\<Your Python Version>\Scripts

(Replace <YourUser> with your actual username and <Your Python Version> with your installed Python version, e.g., Python312.)

After updating your PATH, restart your terminal or Command Prompt and try running stocksim again.

Windows users: C++ Compiler Required

If you see an error like "Microsoft C++ 14.0 or greater is required," please install the Build Tools for Visual Studio.


Version Notes

  • v1.3.3 is the last stable pure Python build.
    This version does not require a C++ compiler and is easiest to install on any system with Python 3.7–3.12.
    However, it lacks some of the advanced functionality and speed improvements found in later versions.

  • v2.x and newer use Cython for much faster simulations and additional features, but require a C++ compiler (such as Microsoft Build Tools for Visual Studio on Windows) for installation from source.


License

This project is licensed under the MIT License. See LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

stocksim-2.1.7.tar.gz (84.2 kB view details)

Uploaded Source

File details

Details for the file stocksim-2.1.7.tar.gz.

File metadata

  • Download URL: stocksim-2.1.7.tar.gz
  • Upload date:
  • Size: 84.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for stocksim-2.1.7.tar.gz
Algorithm Hash digest
SHA256 23bc9de3cecacdb11776de2c0892c17a26e8b86c5daa2dccd1f97325b674efce
MD5 9e222c944f38c6e182ee95dab0821ec3
BLAKE2b-256 1da9e160fb12a648b859fa1b301d123dd12e6b0793580b3adf55e7de6e9f9149

See more details on using hashes here.

Provenance

The following attestation bundles were made for stocksim-2.1.7.tar.gz:

Publisher: python-publish.yml on ElementalPublishing/StockSim

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page