{ "info": { "author": "Niels Henrik Bruun", "author_email": "niels.henrik.bruun@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: Education", "Intended Audience :: End Users/Desktop", "Intended Audience :: Financial and Insurance Industry", "Intended Audience :: Science/Research", "License :: OSI Approved :: Python Software Foundation License", "Programming Language :: Python", "Topic :: Education", "Topic :: Office/Business", "Topic :: Office/Business :: Financial", "Topic :: Office/Business :: Financial :: Investment", "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: Mathematics", "Topic :: Utilities" ], "description": "##########################\r\nfinance - long description\r\n##########################\r\n\r\nThe purpose of this project is to deliver ease of use python code for financial\r\nrisk calculations.\r\nThis code is not unconsious reproduction of textbook material.\r\n\r\nIt's about developing `abstract data types `_ as objects to ease financial calculations and code \r\ndevelopment.\r\n\r\nAt this point the code is by no means optimized for speed.\r\n\r\nFinancial and mathematical concepts are developed on the PythonHacks homepage.\r\n\r\n* `To see more `_\r\n\r\n=====================================\r\nPart 1 - Simple time dependent assets\r\n=====================================\r\n\r\nTime is generic like a period such as eg 1 month and non-generic like a specific date.\r\nIn part both types are implemented with a heavy use of operator overload.\r\n\r\nThis means that questions like: How many days are there between a date 2009-12-27\r\nand 3 months ahead can be calculated like:\r\n\r\n>>> from finance import bankdate\r\n>>> t1 = bankdate('2009-12-27')\r\n>>> print t1 + '3m'\r\n2010-03-27\r\n>>> print t1 + '3m' - t1\r\n90\r\n\r\n* `To see more on bankdate `_\r\n* `To see more on timeperiods `_\r\n\r\nFurther a vector-like structure handling future payments - a dateflow - is \r\nimplemented as a class.\r\n\r\nThrough method overload it is easy to build even very complex cashflows (= dateflow)\r\n\r\n* `To see more on dateflows `_\r\n\r\nGenerators of standard dateflows is also a part of the package.\r\n\r\n* `To see more on daterange `_\r\n* `To see more on daterangeiter `_ \r\n* `To see more on standarddateflowgenerator `_ \r\n\r\nBefore any calculations on a dateflow can be made dates has to be converted into\r\ntimes. For this the class datetotime is created.\r\n\r\n* `To see more on datetotime `_\r\n\r\nFinally simpel calculations like present value and different sorts of duration \r\ncan be made though the class timeflow\r\n\r\n* `To see more on timeflow `_\r\n\r\nHow to install\r\n--------------\r\n\r\nJust run setup.py install command. Or in windows use the windows installer.\r\n\r\nDocumentation, etc\r\n------------------\r\n\r\nVisit my `homepage `_ to see more on how \r\nto use and the research behind the code. It's a blog like place on finance, math \r\nand scientific computing.\r\n\r\n==================\r\nChanges in 0.2502:\r\n==================\r\n\r\nThere were still some problems with ultimo dates which now should be solved. \r\nThank you to Johan Uys for bringing it to my attention.\r\n\r\n==================\r\nChanges in 0.2501:\r\n==================\r\n\r\nProblems with generating ultimo dates has been solved. Thank you to Ankush Sahai \r\nfor bringing it to my attention.\r\n\r\n================\r\nChanges in 0.25:\r\n================\r\n\r\nCode has been rewritten to isolate strickt mathematical strucktures like e.g. DecimalVector in separate packages.\r\nThere have been slight modifications to yieldcurves.\r\n\r\n================\r\nChanges in 0.20:\r\n================\r\n\r\nNow discount curves based on benchmark zero bonds where the rates are continous forward rates.\r\nIt is possible to get standard yieldcalculations done like:\r\n\r\n Instantiate:\r\n\r\n >>> import finance\r\n >>> ns = finance.yieldcurves.NelsonSiegel(0.061, -0.01, -0.0241, 0.275)\r\n \r\n See the settings: \r\n\r\n >>> ns\r\n Nelson Siegel (level=0.061, slope=-0.01, curvature=-0.0241, scale=0.275)\r\n \r\n Get the discountfactors at times 1, 2, 5, 10:\r\n\r\n >>> times = [1, 2, 5, 10]\r\n >>> ns(times)\r\n DecimalVector([0.9517121708497056177816078083, 0.9072377300179418172521412527, 0.7844132592062346545344544940, 0.6008958407659500402742872859])\r\n \r\n Get the zero coupon rate at time 5 and 7\r\n\r\n >>> r5, r7 = ns.zero_coupon_rate([5, 7])\r\n >>> r5, r7\r\n (Decimal('0.049762403554685553400657196'), Decimal('0.050625188777310061599365592'))\r\n \r\n Get the forward rate between time 5 and 7\r\n\r\n >>> f5_7 = ns.discrete_forward_rate(5, 7)\r\n >>> f5_7\r\n Decimal('0.052785255470657667493924028')\r\n\r\nAs shown above yieldcurves are made using the DecimalVector concept. Especially \r\nall outputs will be Decimal or DecimalVector.\r\n\r\nFor now there are 3 different yield curve types:\r\n\r\n* The Nelson Siegel\r\n* The natural cubic spline\r\n* The financial cubic spline\r\n\r\nThis way the finance package covers a large part of yieldcurves in use.\r\nSince it is easy to add more yieldcurves due to the design more will come.\r\n\r\nYieldcurves are of course integrated into the timeflow. **So now it is possible \r\nto do most fixed income calculations**.\r\n\r\n**A tutorial on fixed income calculations in the finance package is on its way**.\r\n\r\nRisk calculations based on linearily decomposable discountcurves is postponed \r\nintil later.\r\n\r\n######################\r\nPlanned added contents\r\n######################\r\n\r\nThe planned development so far is:\r\n\r\nPlanned added content of version 0.3: \r\n Currencies, implementing Markowitz etc \r\n\r\nPlanned added content of version 0.4:\r\n Optionality though (binomial) trees\r\n \r\nPlanned added content of version 0.5:\r\n Bootstrapping from timeflows to get a base of benchmark zero bonds\r\n \r\nPlanned added content of version 0.6:\r\n Concept of portfolios, eg structured products", "description_content_type": null, "docs_url": null, "download_url": "http://pypi.python.org/pypi/finance", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://www.bruunisejs.dk/PythonHacks/", "keywords": "", "license": "http://www.opensource.org/licenses/PythonSoftFoundation.php", "maintainer": "", "maintainer_email": "", "name": "finance", "package_url": "https://pypi.org/project/finance/", "platform": "Operating System :: OS Independent", "project_url": "https://pypi.org/project/finance/", "project_urls": { "Download": "http://pypi.python.org/pypi/finance", "Homepage": "http://www.bruunisejs.dk/PythonHacks/" }, "release_url": "https://pypi.org/project/finance/0.2502/", "requires_dist": null, "requires_python": null, "summary": "finance - Financial Risk Calculations. Optimized for ease of use through class construction and operator overload", "version": "0.2502" }, "last_serial": 1039722, "releases": { "0.2502": [ { "comment_text": "", "digests": { "md5": "4a07661539fa248a871add52b0a11e97", "sha256": "498e61ea8aa922b6aefd33b3960d0404be22e1bb47edcc910ac9723da4e715c0" }, "downloads": -1, "filename": "finance-0.2502.tar.gz", "has_sig": false, "md5_digest": "4a07661539fa248a871add52b0a11e97", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45669, "upload_time": "2014-03-24T19:57:15", "url": "https://files.pythonhosted.org/packages/d7/d3/1d6c3ea93e3b5383426d877be510ccd06037c8f41b47aab5c5741517bb91/finance-0.2502.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4a07661539fa248a871add52b0a11e97", "sha256": "498e61ea8aa922b6aefd33b3960d0404be22e1bb47edcc910ac9723da4e715c0" }, "downloads": -1, "filename": "finance-0.2502.tar.gz", "has_sig": false, "md5_digest": "4a07661539fa248a871add52b0a11e97", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45669, "upload_time": "2014-03-24T19:57:15", "url": "https://files.pythonhosted.org/packages/d7/d3/1d6c3ea93e3b5383426d877be510ccd06037c8f41b47aab5c5741517bb91/finance-0.2502.tar.gz" } ] }