In 1996, we started and investment club with little information on how to start. We set up a partnership, started reading, and worked out the basics. One of the big tasks in an investment club is data management. I'll spare you the accounting details, but you have to run an investment club like a mutual fund -- you figure up the value of the club and divide that by the number of "shares" of the club you have issued. As the value of the club goes up and down, so does the value of shares.
We started out using good ol' Excel spreadsheets. That worked for the first 3 years, but it does get complicated. We then started using Bivio as our means of club accounting. This really helped out around tax season. Bivio also gave us the opportunity to host a website and use group e-mails. We became much more adroit at using it's features. One of the handiest -- develop all the webpages offline, zip, upload to the section at Bivio, and unzip. Voila! - instant, and simple, website.
Behind the scenes, there was a niffy process for managing the site. All the clubs data (minutes, fictional portfolios, journal entries, etc.) was in XML. Infopath was used as the editor to make changes which made for quick, easy updates. In order to generate the webpages, XSLT (via Saxonica) was used. One big script file and the process below worked well for years.
Infopath ⇒ XML files ⇒ XSLT Transform ⇒ XHTML ⇒ zip file ⇒ upload ⇒ decompress
But ... things changed. An "upgrade" to Bivio deleted the unzip option. Now instead of the 5 minutes to update, upload, and decompress -- it took 55 minutes of uploading files one-by-one. Worse, there wasn't a good alternative solution. Considering all things, a redo was in order.
Given that this would be a new build, this was a chance to incorporate several new options we had been wanting. And fortunately, there are great resources out there now that I was able to pull from. Some of the more beneficial ones are listed below. So, if you want to try something new (or see something here you like), send me a message and I'll walk you through how I got here as best I can.
Jimmy
Resources:
Microsoft WebMatrix | Basic development engine (editor, starter sites, etc.) |
Microsoft ASP | Active Server Pages. Really cuts down on the coding necessary |
Yahoo Query Language | Want stock data? You can get it here! |
Pure CSS | Want that clean interface look. Pure is "a set of small, responsive CSS modules that you can use in every web project." |
CK Editor | THE web text editor |
DB Files | How to Store and Retrieve files from SQL Server Database |
And then like so many things, the world changed again. WebMatrix was replaced by the much more powerful (and complicated) VisualStudio. Microsoft ASP/Razor was moved on to MVC. YQL went kaput, which meant moving first to Google, the Intrinio, and now to AlphaVantage for our stock information. PureCSS updated to the more modern Bootstrap. CK Editor has been a very useful mainstay to our website. This table now looks like:
Microsoft Visual Studio | Powerful multiuse editor from Microsoft |
Microsoft ASP.NET MVC | Model View Controller -- much more streamlined method of web development |
Alpha Vantage | Want stock data? |
Bootstrap | CSS for cleaning up the data presentation |
CK Editor | THE web text editor |
Change log:
12/15/2018 - Intrinio no longer providing free information. Wholesale conversion to Alpha Vantage which also requires the use of a scheduler to retrieve information at night.
9/21/2018 - Start of a major rewrite from the ground up. Complete converted to Microsoft Visual Studio and MVC model for the site. Bootstrap for formatting. Also lost YQL for stock information, so switched to a combination of Intrinio and Alpha Vantage.
3/11/2016 - Rework of several areas (cleanup for button, switched to Font Awesome for most of the graphics). Added Editor as a second type of priviledged user.
2/2/2015 - Completed revamp of older information (import of Journal and Minutes entries) into SQL databases.
11/14/2014 - Updated the calculation fields in portfolio calculation. Error (still unfound) when using actual cost basis information. Switched to using adjusted prices from YQL.
11/14/2014 - Changed text fields in database from nvarchar (limited to 400 characters) to ntext. This prevents me from "splicing" together different database fields in order to handle larger entries. Cleanups to partnership agreement, blogs, minutes and bylaws.
1/17/2022 - Ok, several things had to be updated. First, AlphaVantage no longer was providing the stock information we needed, so I've had convert back to YahooFinance. Fortunately, they have a new API, but a lot of rewrite was required. I think I'm through with that now. I've dropped Fluent Scheduler and gone to a straight update.
;