├── .gitattributes ├── .github └── workflows │ └── python-package.yml ├── .gitignore ├── LICENSE ├── README.md ├── finstruments ├── __init__.py ├── common │ ├── __init__.py │ ├── base.py │ ├── base_enum.py │ ├── date │ │ ├── __init__.py │ │ ├── enum.py │ │ └── function.py │ ├── decorators │ │ ├── __init__.py │ │ └── serializable │ │ │ ├── __init__.py │ │ │ ├── __util.py │ │ │ └── decorators.py │ ├── enum.py │ ├── function.py │ ├── period.py │ └── type.py ├── instrument │ ├── __init__.py │ ├── abstract.py │ ├── commodity │ │ ├── __init__.py │ │ └── instrument.py │ ├── common │ │ ├── __init__.py │ │ ├── currency_pair.py │ │ ├── cut.py │ │ ├── enum.py │ │ ├── exercise_style.py │ │ ├── forward │ │ │ ├── __init__.py │ │ │ └── instrument.py │ │ ├── future │ │ │ ├── __init__.py │ │ │ └── instrument.py │ │ └── option │ │ │ ├── __init__.py │ │ │ ├── enum.py │ │ │ ├── instrument.py │ │ │ └── payoff.py │ ├── cryptocurrency │ │ ├── __init__.py │ │ └── instrument.py │ └── equity │ │ ├── __init__.py │ │ ├── enum.py │ │ └── instrument.py └── portfolio │ ├── __init__.py │ └── portfolio.py ├── pyproject.toml ├── requirements.txt ├── setup.py └── tests ├── __init__.py └── unit ├── __init__.py ├── common ├── __init__.py ├── base │ ├── __init__.py │ ├── copy_test.py │ └── hash_test.py ├── date │ └── __init__.py ├── decorators │ ├── __init__.py │ └── serializable_test.py ├── enum_test.py ├── function_test.py └── period_test.py ├── deserialization ├── __init__.py ├── currency_pair_deserialization.py ├── equity_forward_deserialization_test.py ├── equity_option_deserialization_test.py ├── portfolio_deserialization.py └── util.py ├── instrument ├── __init__.py ├── abstract_test.py ├── common │ ├── __init__.py │ ├── cut_test.py │ ├── exercise_style_test.py │ └── option │ │ ├── __init__.py │ │ └── payoff_test.py └── cryptocurrency │ ├── __init__.py │ └── instrument_test.py └── portfolio ├── __init__.py └── portfolio_test.py /.gitattributes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/.gitattributes -------------------------------------------------------------------------------- /.github/workflows/python-package.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/.github/workflows/python-package.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/README.md -------------------------------------------------------------------------------- /finstruments/__init__.py: -------------------------------------------------------------------------------- 1 | """ 2 | Financial Instruments. 3 | """ 4 | -------------------------------------------------------------------------------- /finstruments/common/__init__.py: -------------------------------------------------------------------------------- 1 | """ 2 | Common utilities and helper functions. 3 | """ 4 | -------------------------------------------------------------------------------- /finstruments/common/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/finstruments/common/base.py -------------------------------------------------------------------------------- /finstruments/common/base_enum.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/finstruments/common/base_enum.py -------------------------------------------------------------------------------- /finstruments/common/date/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/finstruments/common/date/__init__.py -------------------------------------------------------------------------------- /finstruments/common/date/enum.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/finstruments/common/date/enum.py -------------------------------------------------------------------------------- /finstruments/common/date/function.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/finstruments/common/date/function.py -------------------------------------------------------------------------------- /finstruments/common/decorators/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/finstruments/common/decorators/__init__.py -------------------------------------------------------------------------------- /finstruments/common/decorators/serializable/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/finstruments/common/decorators/serializable/__init__.py -------------------------------------------------------------------------------- /finstruments/common/decorators/serializable/__util.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/finstruments/common/decorators/serializable/__util.py -------------------------------------------------------------------------------- /finstruments/common/decorators/serializable/decorators.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/finstruments/common/decorators/serializable/decorators.py -------------------------------------------------------------------------------- /finstruments/common/enum.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/finstruments/common/enum.py -------------------------------------------------------------------------------- /finstruments/common/function.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/finstruments/common/function.py -------------------------------------------------------------------------------- /finstruments/common/period.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/finstruments/common/period.py -------------------------------------------------------------------------------- /finstruments/common/type.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/finstruments/common/type.py -------------------------------------------------------------------------------- /finstruments/instrument/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/finstruments/instrument/__init__.py -------------------------------------------------------------------------------- /finstruments/instrument/abstract.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/finstruments/instrument/abstract.py -------------------------------------------------------------------------------- /finstruments/instrument/commodity/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/finstruments/instrument/commodity/__init__.py -------------------------------------------------------------------------------- /finstruments/instrument/commodity/instrument.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/finstruments/instrument/commodity/instrument.py -------------------------------------------------------------------------------- /finstruments/instrument/common/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /finstruments/instrument/common/currency_pair.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/finstruments/instrument/common/currency_pair.py -------------------------------------------------------------------------------- /finstruments/instrument/common/cut.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/finstruments/instrument/common/cut.py -------------------------------------------------------------------------------- /finstruments/instrument/common/enum.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/finstruments/instrument/common/enum.py -------------------------------------------------------------------------------- /finstruments/instrument/common/exercise_style.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/finstruments/instrument/common/exercise_style.py -------------------------------------------------------------------------------- /finstruments/instrument/common/forward/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/finstruments/instrument/common/forward/__init__.py -------------------------------------------------------------------------------- /finstruments/instrument/common/forward/instrument.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/finstruments/instrument/common/forward/instrument.py -------------------------------------------------------------------------------- /finstruments/instrument/common/future/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/finstruments/instrument/common/future/__init__.py -------------------------------------------------------------------------------- /finstruments/instrument/common/future/instrument.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/finstruments/instrument/common/future/instrument.py -------------------------------------------------------------------------------- /finstruments/instrument/common/option/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/finstruments/instrument/common/option/__init__.py -------------------------------------------------------------------------------- /finstruments/instrument/common/option/enum.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/finstruments/instrument/common/option/enum.py -------------------------------------------------------------------------------- /finstruments/instrument/common/option/instrument.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/finstruments/instrument/common/option/instrument.py -------------------------------------------------------------------------------- /finstruments/instrument/common/option/payoff.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/finstruments/instrument/common/option/payoff.py -------------------------------------------------------------------------------- /finstruments/instrument/cryptocurrency/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/finstruments/instrument/cryptocurrency/__init__.py -------------------------------------------------------------------------------- /finstruments/instrument/cryptocurrency/instrument.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/finstruments/instrument/cryptocurrency/instrument.py -------------------------------------------------------------------------------- /finstruments/instrument/equity/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/finstruments/instrument/equity/__init__.py -------------------------------------------------------------------------------- /finstruments/instrument/equity/enum.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/finstruments/instrument/equity/enum.py -------------------------------------------------------------------------------- /finstruments/instrument/equity/instrument.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/finstruments/instrument/equity/instrument.py -------------------------------------------------------------------------------- /finstruments/portfolio/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/finstruments/portfolio/__init__.py -------------------------------------------------------------------------------- /finstruments/portfolio/portfolio.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/finstruments/portfolio/portfolio.py -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/pyproject.toml -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/requirements.txt -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/setup.py -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/unit/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/unit/common/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/unit/common/base/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/unit/common/base/copy_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/tests/unit/common/base/copy_test.py -------------------------------------------------------------------------------- /tests/unit/common/base/hash_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/tests/unit/common/base/hash_test.py -------------------------------------------------------------------------------- /tests/unit/common/date/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/unit/common/decorators/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/unit/common/decorators/serializable_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/tests/unit/common/decorators/serializable_test.py -------------------------------------------------------------------------------- /tests/unit/common/enum_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/tests/unit/common/enum_test.py -------------------------------------------------------------------------------- /tests/unit/common/function_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/tests/unit/common/function_test.py -------------------------------------------------------------------------------- /tests/unit/common/period_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/tests/unit/common/period_test.py -------------------------------------------------------------------------------- /tests/unit/deserialization/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/unit/deserialization/currency_pair_deserialization.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/tests/unit/deserialization/currency_pair_deserialization.py -------------------------------------------------------------------------------- /tests/unit/deserialization/equity_forward_deserialization_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/tests/unit/deserialization/equity_forward_deserialization_test.py -------------------------------------------------------------------------------- /tests/unit/deserialization/equity_option_deserialization_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/tests/unit/deserialization/equity_option_deserialization_test.py -------------------------------------------------------------------------------- /tests/unit/deserialization/portfolio_deserialization.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/tests/unit/deserialization/portfolio_deserialization.py -------------------------------------------------------------------------------- /tests/unit/deserialization/util.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/tests/unit/deserialization/util.py -------------------------------------------------------------------------------- /tests/unit/instrument/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/unit/instrument/abstract_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/tests/unit/instrument/abstract_test.py -------------------------------------------------------------------------------- /tests/unit/instrument/common/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/unit/instrument/common/cut_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/tests/unit/instrument/common/cut_test.py -------------------------------------------------------------------------------- /tests/unit/instrument/common/exercise_style_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/tests/unit/instrument/common/exercise_style_test.py -------------------------------------------------------------------------------- /tests/unit/instrument/common/option/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/unit/instrument/common/option/payoff_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/tests/unit/instrument/common/option/payoff_test.py -------------------------------------------------------------------------------- /tests/unit/instrument/cryptocurrency/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/unit/instrument/cryptocurrency/instrument_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/tests/unit/instrument/cryptocurrency/instrument_test.py -------------------------------------------------------------------------------- /tests/unit/portfolio/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/unit/portfolio/portfolio_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyleloomis/finstruments/HEAD/tests/unit/portfolio/portfolio_test.py --------------------------------------------------------------------------------