{"id":18526487,"url":"https://github.com/jordanhasgul/binomial-options-pricing-model","last_synced_at":"2025-05-14T20:14:31.255Z","repository":{"id":252258607,"uuid":"284502612","full_name":"jordanhasgul/binomial-options-pricing-model","owner":"jordanhasgul","description":"An implementation of the binomial options pricing model, formalized by Cox, Ross and Rubinstein from the paper \"Option pricing: A simplified approach.\", for the valuation of American call and put options.","archived":false,"fork":false,"pushed_at":"2020-12-13T01:55:44.000Z","size":62,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-12-26T01:12:57.193Z","etag":null,"topics":["american-options","binomial-lattice","call-option","cpp","derivatives","option-pricing","put-option"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jordanhasgul.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-08-02T16:49:26.000Z","updated_at":"2024-08-08T14:05:36.000Z","dependencies_parsed_at":"2024-08-08T18:04:14.514Z","dependency_job_id":null,"html_url":"https://github.com/jordanhasgul/binomial-options-pricing-model","commit_stats":null,"previous_names":["jordanhasgul/binomial-options-pricing-model"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jordanhasgul%2Fbinomial-options-pricing-model","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jordanhasgul%2Fbinomial-options-pricing-model/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jordanhasgul%2Fbinomial-options-pricing-model/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jordanhasgul%2Fbinomial-options-pricing-model/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jordanhasgul","download_url":"https://codeload.github.com/jordanhasgul/binomial-options-pricing-model/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239242114,"owners_count":19605954,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["american-options","binomial-lattice","call-option","cpp","derivatives","option-pricing","put-option"],"created_at":"2024-11-06T17:51:31.248Z","updated_at":"2025-02-17T06:12:30.248Z","avatar_url":"https://github.com/jordanhasgul.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# The Binomial Options Pricing Model\nAn implementation of the binomial options pricing model, formalized by Cox, Ross and Rubinstein from the paper [\"Option pricing: A simplified approach.\"](https://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=99A50E0DAC1766A693E68CB029ADAE07?doi=10.1.1.379.7582\u0026rep=rep1\u0026type=pdf), for the valuation of American call and put options.\n\n## Description\n\nThe binomial options pricing model traces the evolution of an options underlying financial instrument in discrete time, through the use of a binomial lattice. Each node in the lattice represents the value of the option and a possible price of the underlying instrument at a given point in time. The general structure of a binomial lattice is given below:\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://www.goddardconsulting.ca/image-files/binomial_MultiStepLattice.gif\"\u003e\u003c/p\u003e\n\nOption valuation using this method is described as follows:\n\n1. **Generation of binomial price lattice**\\\nAt each interval, it is assumed that the price of the underlying instrument, ![](images/s0.png), will move up or down by a specific factor, ![](images/uequals.png) or ![](images/dequals.png), respectively. Where ![](images/volatility.png) represents the implied volatility of the underlying instrument and ![](images/dt.png) represents the time duration of an interval.\\\n\\\nThe spot price, ![](images/sn.png), of the underlying instrument at the ![](images/nth.png) period is dependent on the number of times the price of the underlying instrument has moved up or down, denoted by ![](images/i.png) and ![](images/j.png) respectively. Therefore, ![](images/sn.png) can be calculated directly via ![](images/snequals.png). \n\n2. **Valuation of option at each final node**\\\nAt each final node of the binomial lattice (i.e. at expiration of the option), the option value is simply its intrinsic value:\\\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;![](images/call.png), for a call option.\\\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;![](images/put.png), for a put option.\\\nWhere ![](images/k.png) is the strike price and ![](images/sn.png) is the spot price of the underlying asset at the the ![](images/nth.png) period.\n\n3. **Sequential valuation of option at each preceding node**\\\nStarting at the penultimate node and working back to the root node, the option value is computed to be the greater of the expectation and intrinsic values at the node. The expectation value is given by the following formula: \u003cp align=\"center\"\u003e\u003cimg src=\"images/vequals.png\"\u003e\u003c/p\u003e\\\nWhere ![](images/vnt.png) is value of the option at the ![](images/nth.png) node at time interval ![](images/t.png), ![](images/r.png) is the risk-free rate and ![](images/p.png) is the probability that the price of the underlying instrument moves up.\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjordanhasgul%2Fbinomial-options-pricing-model","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjordanhasgul%2Fbinomial-options-pricing-model","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjordanhasgul%2Fbinomial-options-pricing-model/lists"}