online personal finance software that I can host myself
I generally concur with your sentiments. mint.com has 'hack me' written all over it.  I know of two major open source tools for accounting: GNUCash and LedgerSMB. I use GNUCash, which comes close to meeting your needs: The 2.4 series introduced SQL DB support; mysql, postgres and sqlite are all supported. I migrated to sqlite to see how the schema looked and ran, the conclusion was that it runs fine but writing direct sql queries is probably beyond me. I may move it to postgres in the future, just so I can write some decent reports. Note that while it uses HTML for reporting, there is no no web frontend. It still requires a client, and is not multi-user safe. But it's probably about the closest to what you what that still falls under the heading of 'personal finance'. A fork of SQL Ledger, this is postgreSQL only but does have a web frontend. All the open source finance webapps I've found are designed for small to medium busineses. I believe it should meet your needs, though I've never used it. It might be overkill and difficult to use for your limited purposes though. I know one or two people in the regional LUG use LedgerSMB, but I really don't need invoicing and paystubs. You can use www.mint.com for most of your requirements. It works great for me, it's free and I'd say is secure. Hosting that kind of service just for your will be time-consuming and not necessarily more secure than most of the stuff that is readily available out there. Good luck.
So far I am doing mint.com for a few minutes a couple of times a week, despite my security concerns, and that's working fairly well as practice until my job starts.  I'm hoping to get my bank to allow up to date transaction download, and then I'm considering using YNAB once I start my job.  I will update this as I go along. "Yes.  The simplest option to track your spending over time is to familiarize yourself with the ""Reports"" menu on the toolbar.  Take a look specifically at the ""Reports > Income/Expense > Income Statement"" report, which will sum up your income and spending over a time frame (defaults to the current year). In each report that you run, there is an ""Options"" button at the top of the screen.  Open that and look on the ""General"" tab, you'll be able to set the time frame that the report displays (if you wanted to set it for the 2 week block since your last paycheck, for example).  Other features you're going to want to familiarize yourself with are the Expense charts & statements, the ""Cash Flow"" report, and the ""Budgeting"" interface (which is relatively new), although there is a bit of a learning curve to using this last feature. Most of the good ideas when it comes to tracking your spending are independent of the software you're using, but can be augmented with a good financial tracking program.  For example, in our household we have multiple credit cards which we pay in full every month.  We selected our cards on specific benefits that they provide, such as one card which has a rotating category for cash back at certain business types.  We keep that card set on restaurants and put all of our ""eating out"" expenses on that card.  We have other cards for groceries, gas, etc.  This makes it easy to see how much we've spent in a given category, and correlates well with the account structure in gnucash." You could make a browser plugin that did that I would think.  Does such a thing exist already?  It would track which sites you go to, and for how long. And whichever sites accepted payment through them it would distribute your budget to every month.  I imagine you would have to review the payment at the end of the month, just to verify and to prevent fraud. I have been using http://moneydance.com/ for several years now.  Works pretty well for me. Another one is http://www.iggsoftware.com/ibank/ I have not used it other than a five minute play session.  Looks more mac-ish than Moneydance, but that's all I know. "What you are describing sounds a lot like the way we handle our household budget.  This is possible, but quite difficult to do with an Excel spreadsheet.  It is much easier to do with dedicated budgeting software designed for this purpose. When choosing personal budgeting software, I've found that the available packages fall in two broad categories: Some packages take what I would call a proactive approach: You enter in your bank account balances, and assign your money into spending categories.  When you deposit your paycheck, you do the same thing: you add this money to your spending categories.  Then when you spend money, you assign it to a spending category, and the software keeps track of your category balances.  At any time, you can see both your bank balances and your spending category balances.  If you need to spend money in a category that doesn't have any more money, you'll need to move money from a different category into that one.  This approach is sometimes called the envelope system, because it resembles a digital version of putting your cash into different envelopes with different purposes.  A few examples of software in this category are You Need a Budget (YNAB), Mvelopes, and EveryDollar. Other packages take more of a reactive approach: You don't bother assigning a job to the money already in your bank account.  Instead, you just enter your monthly income and put together a spending plan.  As you spend money, you assign the transactions to a spending category, and at the end of the month, you can see what you actually spent vs. what your plan was, and try to adjust your next budget accordingly.  Software that takes this approach includes Quicken and Mint.com. I use and recommend the proactive approach, and it sounds from your question like this is the approach that you are looking for.  I've used several different budgeting software packages, and my personal recommendation is for YNAB, the software that we currently use.  I don't want this post to sound too much like a commercial, but I believe it will do everything you are looking for.   One of the great things about the proactive approach, in my opinion, is how credit card accounts are handled.  Since your spending category balances only include real money actually sitting in an account (not projected income for the month), when you spend money out of a category with your credit card, the software deducts the money from the spending category immediately, as it is already spent.  The credit card balance goes negative.  When the credit card bill comes and you pay it, this is handled in the software as an account transfer from your checking account to your credit card account.  The money in the checking account is already set aside for the purpose of paying your credit card bill. Dedicated budgeting software generally has a reconcile feature that makes verifying your bank statements very easy.  You just enter the date of your bank statement and the balance, and then the software shows you a list of the transactions that fall in those dates.  You can check each one against the transactions on the statement, editing the ones that aren't right and adding any that are missing from the software.  After everything checks out, the software marks the transactions as verified, so you can easily see what has cleared and what hasn't. Let me give you an example to clarify, in response to your comment.  This example is specific to YNAB, but other software using the same approach would work in a similar way. Let's say that you have a checking account and a credit card account.  Your checking account, named CHECKING, has $2,000 in it currently.  Your credit card currently has nothing charged on it, because you've just paid your bill and haven't used it yet this billing period.  YNAB reports the balance of your credit card account (we'll call this account CREDITCARD), as $0. Every dollar in CHECKING is assigned to a category.  For example, you've got $200 in ""groceries"", $100 in ""fast food"", $300 in ""rent"", $50 in ""phone"", $500 in ""emergency fund"", etc.  If you add up the balance of all of your categories, you'll get $2,000. Let's say that you've written a check to the grocery store for $100.  When you enter this in YNAB, you tell it the name of the store, the account that you paid with (CHECKING), and the category that the expense belongs to (groceries).  The ""groceries"" category balance will go down from $200 to $100, and the CHECKING account balance will go down from $2,000 to $1,900. Now, let's say that you've spent $10 on fast food with your credit card.  When you enter this in YNAB, you tell it the name of the restaurant, the account that you paid with (CREDITCARD), and the category that the expense belongs to (fast food).  YNAB will lower the ""fast food"" category balance from $100 to $90, and your CREDITCARD account balance will go from $0 to $-10. At this point, if you add up all the category balances, you'll get $1,890.  And if you add up your account balances, you'll also get $1,890, because CHECKING has $1,900 and CREDITCARD has $-10.  If you get your checking account bank statement at this time, the account balance of $1,900 should match the statement and you'll see the payment to the grocery store, assuming the check has cleared.  And if the credit card bill comes now, you'll see the fast food purchase and the balance of $-10. When you write a check to pay this credit card bill, you enter this in YNAB as an account transfer of $10 from CHECKING to CREDITCARD.  This transfer does not affect any of your category balances; they remain the same.  But now your CHECKING account balance is down to $1,890, and CREDITCARD is back to $0. This works just as well whether you have one checking account and one credit card, or 2 checking accounts, 2 savings accounts, and 3 credit cards.  When you want to spend some money, you look at your category balance.  If there is money in there, then the money is available to spend somewhere in one of your accounts.  Then you pick an account you want to pay with, and, looking at the account balance, if there isn't enough money in that account to pay it, you just need to move some money from another account into that one, or pick a different account.  When you pay for an expense with a credit card, the money gets deducted from the category balances immediately, and is no longer available to spend on something else." "Note that mutual funds' quarterly/annual reports usually have this number. I generally just let my home-accounting software project my future net worth; its numbers agree well enough with those I've gotten from more ""professional"" sources such as monte-carlo modelling. (They'd agree better if I fed in all the details of my paycheck, but I don't feel like doing the work to keep that up to date.) I'm using Quicken, but I assume MS Money and other competitors have the same capability if you buy the appropriate version." "As I have said before on this site, I personally use Moneydance. They have Mac, Linux and Windows support, and recently added an iOS mobile version that syncs with the desktop. I have only used the Mac ""desktop"" version, and it seems to function well, but have not tried the other platforms, nor the iOS version. I have no company affiliation, but am a (mostly) happy user.  :-)" Not web-based, but both Moneydance and You Need A Budget allow this. I'm not directly affiliated with the company (I work for one of the add-on partners) but I can wholeheartedly recommend Xero for both personal and business finances. Their basis is to make accounting simple and clean, without sacrificing any of the power behind having the figures there in the first place. "You Need A Budget is a nice budgeting tool that works on the desktop.   It is more focused on manual entry and budgeting over auto-downloading and categorizing.   It does support downloading transactions from banks and then importing the transaction files.    You mentioned having ""trust issues"" with a bank and this would be safe as you don't enter your credentials into the app.   It also has a mobile app that works well. Not exactly what you are looking for, but it would work in India and be safe if you have an untrustworthy bank and it would allow you to import transactions." Update: I am now using another app called toshl and I am very satisfied with it. In fact, I am a paying customer. It is web based, but it has clients for iPhone, Android and Windows Phone as well.  Another one, I tried is YNAB.   Did you consider trying an online app? I am using Wesabe and I am happy with it. I found it much better these web-based ones because I can access my data from anywhere. Based on my experience with OpenQuant, which is a development platform for automated trading strategies (and therefore can be easily be used for backtesting your personal strategy), I can give a little insight into what you might look for in such a platform.  OpenQuant is a coding environment, which reads data feeds from a variety of sources (more on that in the second point), and runs the code for your strategy on that data and gives you the results. The data could be imported from a live data feed or from historical data, either through numerous API's, CSV/Excel, etc. You can write your own strategies using the custom C# libraries included with the software, which spares you from implementing your own code for technical indicators, basic statistical functions, etc. Getting the data is another issue. You could use joe's strategy and calculate option prices yourself, although you need to exercise caution when doing this to test a strategy. However, there is no substitute for backtesting a strategy on real data. Markets change over time, and depending on how far back you're interested in testing your strategy, you may run into problems. The reason there is no substitute for using real data is that attempting to replicate the data may fail in some circumstances, and you need a method of verifying that the data you're generating is correct and realistic. Calculating a few values, comparing them to the real values, and calibrating accordingly is a good idea, but you have to decide for yourself how many checks you want to do. More is better, but it may not be enough to realistically test your strategy. Disclaimer: Lest you interpret my post as a shameless plug for the OpenQuant platform, I'll state that I found the interface awful (it looked vaguely like Office 2000 but ten years too late) and the documentation woefully incomplete. I last used the software in 2010, so it may have improved in the intervening years, but your mileage may vary. I only use it as an example to give some insight into what you might look for in a backtesting platform. When you actually begin trading, a different platform is likely in order.  That being said, it responded fairly quickly and the learning curve wasn't too steep. The platform wasn't too expensive at the time (about $700 for a license with no data feeds, I think) but I was happy that the cost wasn't coming out of my pocket. It's only gotten more expensive and I'm not sure it's worth it. "Excellent question.  I'm not aware of one. I was going to say ""go visit some personal finance blogs"" but then I remembered that I write on one, and that I often get a commission if I talk about online accounts, so unless something is really bad I'm not going to post on it because I want to make money, not chase it away. This isn't to say that I'm biased by commissions, but among a bunch of online banks paying pretty much the same (crappy) interest rate and giving pretty much the same (often not crappy) service, I'm going to give air time to the ones that pay the best commissions.  That, and some of the affiliate programs would kick me out if I trashed them on my blog. This also would taint any site, blog or not, that does not explicitly say that they do not have affiliate relationships with the banks they review. I suppose if you read enough blogs you can figure out the bad ones by their absence, but that takes a lot of time.  Seems like you'd do all right by doing a ""--bank name-- sucks"" Google search to dig up the dirt. That, or call up / e-mail / post on their forum any questions you have about their services before sending them your money.  If they're up front, they'll answer you." Just by chance I recently encountered this link - Do It Yourself MFE, which describes an attempt to self-educate to the level of Master of Financial Engineering. It lists books, online courses, etc. which I think may be interesting for you too. "I use Google Finance too. The only thing I have problem with is dividend info which it wouldn't automatically add to my portfolio. At the same time, I think that's a lot to ask for a free web site tool. So when dividend comes, I manually ""deposit"" the dividend payment by updating the cash amount. If the dividend comes in share form, I do a BUY at price 0 for that particular stock. If you only have 5 stocks, this additional effort is not bad at all. I also use the Hong Kong version of it so perhaps there maybe an implementation difference across country versions. Hope this helps. CF"