The first time that I posted about a completely Open-Source version of cFIREsim, I was woefully unprepared. I didn't have any code at the time to build off of, and I think that hindered collaboration. I did get a few kind folks to contribute a shiny new AngularJS user interface, and some other data-related functions, which I appreciate. However, I now have enough code re-done to put it out there for consumption and testing... which I hope spawns some more interest in coding contributions.
Warning: This code is still not ready for prime-time. I'm putting this out on the basis that folks will help debug and/or suggest new features. Some of the features from cFIREsim legacy are not fully working, but may be still visible (portfolio rebalancing options is one big example). Also, Saving/Loading simulations is not currently available, but after posting this publicly, I'm going to work on that feature next so that testing can be done a little easier.
In the original discussions on cFIREsim-open, people suggested that users be able to save files containing their simulations, and be able to load them without saving anything to a DB, or without any accounts. I'm not sure if that is possible given the security constraints of modern browsers, but I'm open to ideas. I'm not entirely sure if the output graph/chart, as it stands now, will look good on an iPad or Mobile device.
New Test Site: http://www.cfiresim.com/open/input.htmGithub Repo: https://github.com/boknows/cFIREsim-open/Submit issues/suggestions (requires github account): https://github.com/boknows/cFIREsim-open/issuesHow to test/use:Right now, the best way to help test cFIREsim-open is by doing the following:
- Input your scenarios into the input page.
- Click "Run Simulation"
- Watch at the bottom of the page as the output charts appear, along with a link to a CSV file.
- Use the CSV file, and the Javascript Console in your browser to verify data
- To access the javascript console in Firefox/Chrome: Control+Shift+I (then click the "console" tab)
After running a simulation, the javascript console will show:
- "Form Data" - clicking the "Object" will show on the side all of the form inputs and their names/values
- "Results" - clicking the "Object" will show an array of every simulation cycle. Inside each cycle is an array of each year of that cycle. Inside of each year is all of the relevant data for that year (spending, inflation, SS, pensions, etc etc)
- "Failed X out of Y cycles. " - A message showing the standard cFIREsim failure rate.
- "Final Stats" - clicking the "Object" will show a list of all of the statistics that make up the cFIREsim legacy output chart (Average ending portfolio, all of the withdrawal analysis, etc)
Folks who program: If you want to specifically play with Spending Methods (like Guyton Klinger, Hebelers Autopilot) or make up your own spending method, the spendingModule.js contains all the relevant documents. (
https://github.com/boknows/cFIREsim-open/blob/master/js/spendingModule.js)
Play around with the tool. Record issues on Github. Record suggestions on Github. Discuss possible enhancements here or on cFIREsim forums. Contribute code if you wish.