Source code for pygbm.cli

import argparse
from .gbm_simulator import GBMSimulator


[docs] def main(): """ Entry point for the pygbm command-line interface. Parses command-line arguments, runs a Geometric Brownian Motion simulation using the specified parameters, and produces a plot of the simulated path. """ parser = argparse.ArgumentParser(description="Simulate Geometric Brownian Motion") subparsers = parser.add_subparsers(dest="command", required=True) sim = subparsers.add_parser("simulate", help="Simulate a GBM path and plot it") sim.add_argument("--y0", type=float, required=True, help="Initial value Y(0)") sim.add_argument("--mu", type=float, required=True, help="Drift coefficient") sim.add_argument("--sigma", type=float, required=True, help="Diffusion coefficient") sim.add_argument("--T", type=float, required=True, help="Total time for simulation") sim.add_argument("--N", type=int, required=True, help="Number of time steps") sim.add_argument("--output", type=str, help="Output file for the plot") args = parser.parse_args() if args.command == "simulate": simulator = GBMSimulator(args.y0, args.mu, args.sigma) t_values, y_values = simulator.simulate_path(args.T, args.N) simulator.plot_path(t_values, y_values, output=args.output)
if __name__ == "__main__": main()