view src/fbs/main.py @ 8:f213aa4891fc 0.0.2

add setup.cfg
author Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
date Sat, 20 Nov 2021 18:04:06 +0100
parents fbs/main.py@ccffaf75d240
children 6f9a6fc6d4d9
line wrap: on
line source

import click
from fbs.helpers import Option


@click.command()
@click.option('--spot-price', type=float, required=True, help='Spot price of the underlying asset.')
@click.option('--exercise-price', type=float, required=True, help='Exercise price of the option.')
@click.option('--risk-free-rate', type=float, required=True, help='Risk free rate.')
@click.option('--std', type=float, required=True, help='Standard deviation.')
@click.option('--expiration', type=float, required=True, help='Time to expiration.')
def cli(spot_price, exercise_price, risk_free_rate, std, expiration):
    option = Option(spot_price, exercise_price, risk_free_rate, std, expiration)

    # Format output
    output = 'European call option price: {}'.format(option.compute_eu_call_price())
    output_length = len(output)
    line = ''.join('-' for _ in range(output_length))

    # Output
    click.echo(line)
    click.echo(output)
    click.echo(line)


if __name__ == '__main__':
    cli()