A calculator that takes into account portfolio rebalancing?
"My answer is Microsoft Excel.  Google ""VBA for dummies"" (seriously) and find out if your brokerage offers an 'API'.  With a brief understanding of coding you can get a spreadsheet that is live connected to your brokers data stream.  Say you have a spreadsheet with the 1990 value of each in the first two columns (cells a1 and b1).  Maybe this formula could be the third column, it'll tell you how much to buy or sell to rebalance them.   then to iterate the rebalance, set both a2 and b2 to =C1 and drag the formula through row 25, one row for each year.  It'll probably be a little more work than that, but you get the idea." R has really good package that lets you calculate the return of rebalanced portfolios. The package is called: PerformanceAnalytics (see: http://www.inside-r.org/packages/cran/PerformanceAnalytics/docs/Return.portfolio). I quickly wrote a small script for you that lets you do exactly what you want.  Code: By default the portfolio is rebalanced to an equally weighted portfolio. It is also possible to rebalance your portfolio using custom weights. See the documentation on how to do this.  In order for this code to work you need to have your data already in return terms. You can do this easily in Excel. Make sure your data in excel looks like this: Than export your data to a CSV file. Note: before you run the code make sure you have installed the package PerformanceAnalytics. You can do this as follows:  Let me know if you have any questions regarding the above. Quicken has tools for this, but they have some quirks so i hesitate to actually recommend it on that basis. Note that if 1)  The stock prices are continuously differentiable (they aren't) 2)  You rebalance continuously in the absence of trading fees and taxes then the return fraction (future price / original price) will be the geometric mean of the return fractions for each investment. If you don't rebalance then the return fraction will be the arithmetic mean. But the arithmetic mean is ALWAYS greater than or equal to the geometric mean, so continuous rebalancing in the case of continuously differentiable prices will always hurt you, even abscent trading costs/taxes. Any argument in favor of blind rebalancing which does not somehow fail in the continuously differentiable case is simply wrong. See https://dl.dropboxusercontent.com/u/38536036/to%20karim.pdf -JT
Your question is a complex one because knowledge of the investor's beliefs about the market is required.  For almost any quantitative portfolio, one must have a good estimate of the expected return vector and covariance matrix of the assets in question.  The expected return vector, in particular, is far from estimable.  No one agrees on it and there is no way to know who is right and who is wrong. In a world satisfying the conditions of the CAPM, you can bypass this problem because the main implication of the CAPM is that the market weights are optimal.  In that case the answer to your question is that you should determine the market weights of the various assets and use those along with saving in a risk-free account or borrowing, depending on your risk tolerance.  This portfolio has the added benefit that you don't need to rebalance much...the weights in your portfolio adjust at the same rate as the market weights. Any portfolio that has something besides this also includes some notion of expected return aside from CAPM fair pricing.  The question for you, then, is whether you have such a notion.  If you do, you can mix your information with the market weights to come up with a portfolio.  This is what the Black-Litterman method does, for example: get the expected return vector implied by market weights and the covariance matrix, mix with your expected return vector, then use mean-variance optimization to come up with your final weights. Outside of software that can calculate the returns:  You could calculate your possible returns on that leap spread as you ordinarily would, then place the return results of that and the return results for the covered call position side by side for any given price level of the stock you calculate, and net them out. (Netting out the dollar amounts, not percentage returns.)  Not a great answer, but there ya go. Software like OptionVue is expensive You can get really nerdy with the EV calc, but I would just add that it's important to deduct any non-operating, non-consolidated assets in addition to the minority interest adjustment - e.g. unconsolidated subsidiaries, excess real estate, excess working capital, etc. The Finance functions in spreadsheet software will calculate this for you.  The basic functions are for Rate, Payment, PV (present value), FV (Future value), and NPER, the number of periods.  The single calculation faces a couple issues, dealing with inflation, and with a changing deposit. If you plan to save for 30 years, and today are saving $500/mo, for example, in ten years I hope the deposits have risen as well. I suggest you use a spreadsheet, a full sheet, to let you adjust for this.  Last, there's a strange effect that happens. Precision without accuracy. See the results for 30-40 years of compounding today's deposit given a return of 6%, 7%, up to 10% or so. Your forecast will be as weak as the variable with the greatest range. And there's more than one, return, inflation, percent you'll increase deposits, all unknown, and really unknowable.  The best advice I can offer is to save till it hurts, plan for the return to be at the lower end of the range, and every so often, re-evaluate where you stand. Better to turn 40, and see you are on track to retire early, than to plan on too high a return, and at 60 realize you missed it, badly.  As far as the spreadsheet goes, this is for the Google Sheets -  Type this into a cell =nper(0.01,-100,0,1000,0) It represents 1% interest per month, a payment (deposit) of $100, a starting value of $0, a goal of $1000, and interest added at month end. For whatever reason, a starting balance must be entered as a negative number, for example - =nper(0.01,-100,-500,1000,0) Will return 4.675, the number of months to get you from $500 to $1000 with a $100/mo deposit and 1%/mo return. Someone smarter than I (Chris Degnen comes to mind) can explain why the starting balance needs to be entered this way. But it does show the correct result. As confirmed by my TI BA-35 financial calculator, which doesn't need $500 to be negative. "Answering this question is weird, because it is not really precise in what you mean. Do you want all stocks in the US? Do you want a selection of stocks according to parameters?  Do you just want a cool looking graph? However, your possible misuse of the word derivative piqued my interest. Your reference to  gold and silver seems to indicate that you do not know what a derivative actually is. Or what it would do in a portfolio.  The straightforward way to ""see"" an efficient frontier is to do the following. For a set of stocks (in this case six ""randomly"" selected ones):      library(quantmod)  library(fPortfolio)  library(PerformanceAnalytics)     getSymbols(c(""STZ"", ""RAI"", ""AMZN"", ""MSFT"", ""TWX"", ""RHT""), from = ""2012-06-01"", to = ""2017-06-01"")     returns &lt;- NULL  tickerlist &lt;- c(""STZ"", ""RAI"", ""AMZN"", ""MSFT"", ""TWX"", ""RHT"")  for (ticker in tickerlist){   returns &lt;- cbind(returns, monthlyReturn(Ad(eval(as.symbol(ticker)))))  }  colnames(returns) &lt;- tickerlist  returns &lt;- as.timeSeries(returns)    frontier &lt;- portfolioFrontier(returns)  png(""frontier.png"", width = 800, height = 600)  plot(frontier, which = ""all"")  dev.off()    minvariancePortfolio(returns, constraints = ""LongOnly"")    Portfolio Weights:    STZ    RAI   AMZN   MSFT    TWX    RHT   0.1140 0.3912 0.0000 0.1421 0.1476 0.2051     Covariance Risk Budgets:    STZ    RAI   AMZN   MSFT    TWX    RHT   0.1140 0.3912 0.0000 0.1421 0.1476 0.2051     Target Returns and Risks:   mean    Cov   CVaR    VaR   0.0232 0.0354 0.0455 0.0360    https://imgur.com/QIxDdEI  The minimum variance portfolio of these six assets has a mean return is 0.0232 and variance is 0.0360. AMZN does not get any weight in the portfolio.  It kind of means that the other assets span it and it does not provide any additional diversification benefit.   Let us add two ETFs that track gold and silver to the mix, and see how little difference it makes:    getSymbols(c(""GLD"", ""SLV""), from = ""2012-06-01"", to = ""2017-06-01"")    returns &lt;- NULL  tickerlist &lt;- c(""STZ"", ""RAI"", ""AMZN"", ""MSFT"", ""TWX"", ""RHT"", ""GLD"", ""SLV"")  for (ticker in tickerlist){   returns &lt;- cbind(returns, monthlyReturn(Ad(eval(as.symbol(ticker)))))  }  colnames(returns) &lt;- tickerlist  returns &lt;- as.timeSeries(returns)   frontier &lt;- portfolioFrontier(returns)    png(""weights.png"", width = 800, height = 600)  weightsPlot(frontier)  dev.off()    # Optimal weights  out &lt;- minvariancePortfolio(returns, constraints = ""LongOnly"")  wghts &lt;- getWeights(out)  portret1 &lt;- returns%*%wghts  portret1 &lt;- cbind(monthprc, portret1)[,3]  colnames(portret1) &lt;- ""Optimal portfolio""    # Equal weights  wghts &lt;- rep(1/8, 8)  portret2 &lt;- returns%*%wghts  portret2 &lt;- cbind(monthprc, portret2)[,3]  colnames(portret2) &lt;- ""Equal weights portfolio""   png(""performance_both.png"", width = 800, height = 600)  par(mfrow=c(2,2))  chart.CumReturns(portret1, ylim = c(0, 2))  chart.CumReturns(portret2, ylim = c(0, 2))  chart.Drawdown(portret1, main = ""Drawdown"", ylim = c(-0.06, 0))  chart.Drawdown(portret2, main = ""Drawdown"", ylim = c(-0.06, 0))  dev.off()   https://imgur.com/sBHGz7s   Adding gold changes the minimum variance mean return to 0.0116 and the variance stays about the same 0.0332. You can see how the weights change at different return and variance profiles in the picture.  The takeaway is that adding gold decreases the return but does not do a lot for the risk of the portfolio.  You also notice that silver does not get included in the minimum variance efficient portfolio (and neither does AMZN).  https://imgur.com/rXPbXau  We can also compare the optimal weights to an equally weighted portfolio and see that the latter would have performed better but had much  larger drawdowns. Which is because it has a higher volatility, which might be undesirable.  ---  Everything below here is false, but illustrative.  So what about the derivative part? Let us assume you bought an out of the money call option with a strike of 50 on MSFT at the beginning of the  time series and held it to the end.  We need to decide on the the annualized cost-of-carry rate, the annualized rate of interest, the time to maturity is measured in years, the annualized  volatility of the underlying security is proxied by the historical volatility.   library(fOptions)   monthprc &lt;- Ad(MSFT)[endpoints(MSFT, ""months"")]  T &lt;- length(monthprc) # 60 months, 5 years  vol &lt;- sd(returns$MSFT)*sqrt(12) # annualized volatility    optprc &lt;- matrix(NA, 60, 1)  for (t in 1:60) {   s &lt;- as.numeric(monthprc[t])   optval &lt;- GBSOption(TypeFlag = ""c"", S = s, X = 50, Time = (T - t) / 12, r = 0.001, b = 0.001, sigma = vol)   optprc[t] &lt;- optval@price  }    monthprc &lt;- cbind(monthprc, optprc)  colnames(monthprc) &lt;- c(""MSFT"", ""MSFTCall50"")    MSFTCall50rets &lt;- monthlyReturn(monthprc[,2])  colnames(MSFTCall50rets) &lt;- ""MSFTCall50rets""    returns &lt;- merge(returns, MSFTCall50rets)    wghts &lt;- rep(1/9, 9)    portret3 &lt;- returns%*%wghts  portret3 &lt;- cbind(monthprc, portret3)[,3]  colnames(portret3) &lt;- ""Equal weights derivative portfolio""    png(""performance_deriv.png"", width = 800, height = 600)  par(mfrow=c(2,2))  chart.CumReturns(portret2, ylim = c(0, 4.5))  chart.CumReturns(portret3, ylim = c(0, 4.5))  chart.Drawdown(portret2, main = ""Drawdown"", ylim = c(-0.09, 0))  chart.Drawdown(portret3, main = ""Drawdown"", ylim = c(-0.09, 0))  dev.off()  https://imgur.com/SZ1xrYx   Even though we have a massively profitable instrument in the derivative. The portfolio analysis does not include it  because of the high volatility. However, if we just use equal weighting and essentially take a massive position in  the out of the money call (which would not be possible in real life), we get huge drawdowns and volatility, but  the returns are almost two fold. But nobody will sell you a five year call.  Others can correct any mistakes or misunderstandings in the above. It hopefully gives a starting point.  Read more at:   https://en.wikipedia.org/wiki/Modern_portfolio_theory https://en.wikipedia.org/wiki/Option_(finance)  The imgur album:  https://imgur.com/a/LoBEY" This is going to be a bit of a shameless plug, but I've build a portfolio tracking website to track your portfolio and be able to share it (in read-only mode) as  well. It is at http://frano.carelessmusings.com and currently in beta. Most portfolio trackers are behind a login wall and thus will lack the sharing function you are looking for. Examples of these are: Yahoo Finance, Google Finance, Reuters Portfolios, MorningStart Portfolios, and many others. Another very quick and easy solution (if you are not trading too often) is a shared google docs spreadsheet. Gdocs has integration with google finance and can retrieve prices for stocks by symbol. A spreadsheet can contain the following: Symbol, Quantity, Avg. Buy Price, Price, P/L, P/L% and so on. The current price and P/L data can be functions that use the google finance API. Hope this helps, and if you check out my site please let me know what you think and what I could change. If annualized rate of return is what you are looking for, using a tool would make it a lot easier.   In the post I've also explained how to use the spreadsheet.   Hope this helps. "All of these frameworks, Markowitz, Mean/CVaR, CARA, etc  sit inside a more general framework which is that ""returns are good"" and ""risk/lack of certainty in the returns is bad"", and there's a tradeoff between the two encoded as some kind of risk aversion number.  You can measure ""lack of certainty in returns"" by vol, CVaR, weighted sum of higher moments, but even sector/region concentration.  Similarly do I want more ""returns"" or ""log returns"" or ""sqrt returns"" in the context of this tradeoff?  You don't need any formal notion of utility at that point - and I don't know what formal ideas of utility beyond ""I want more returns and less risk"" really buys you. The Sharpe ratio only really gets its meaning because you've got some formal asset-pricing notion of utility.   In my view the moment that you're putting constraints on the portfolio (e.g. long only, max weights, don't deviate too much from the benchmark ...) - really you're operating in this more general framework anyway and you're not in ""utility-land"" anymore." i will not calculate it for you but just calculate the discounted cash flow (by dividing with 1.1 / 1.1^2 / 1.1^3   ...)of each single exercise as stated and deduct the 12.000 of the above sum.  in the end compare which has the highest npv "There's nothing to rebalance, the index fund rebalances itself to continue matching the index. However, you need to understand that such an investment is not diversified and you only invest in a very specific market, and very specific stocks on that market. S&P 500 is large (500 different companies, most of the time), but still not as broadly diversified as your retirement investment portfolio should be. You should talk to a financial adviser (CFP for example), many companies provide access to these for 401k plan participants. But in any case, I'd suggest considering ""target date"" funds - funds that are investing based on your expected retirement year, and become more conservative as you get closer to that year." You can evaluate portfolio raw returns or risk adjusted returns. To evaluate raw returns, I would personally compute the total returns over the time period in question for both portfolios.  To compute total returns, split the time into a bunch of subperiods by the dates at which you contributed money.  Compute each subperiod return by dividing the value of the portfolio at the end of the subperiod (but before adding additional cash on that day) by the value at the beginning of the subperiod (after adding cash on that day).  Then multiply all these returns together.  Finally, subtract 1.  That's your total return. For the portfolio where you didn't add any money it's easy: just divide the end value by the beginning and subtract 1. Whichever has a higher return performed better. To compute risk adjusted returns, get the portfolio returns from both portfolios (daily or monthly) and use OLS to regress on a benchmark portfolio return (something like the S&P500).  The intercept of the regression is a measure of the risk-adjusted peformance of your portfolio.  Higher the better.  More sophisticated models will do multiple regression using a few benchmark portfolios at the same time. "ycharts.com has ""Weighted Average PE Ratio"" and a bunch of other metrics that are meant to correspond to well known stock metrics.  Other websites will have similar ratios." I am not aware of a single instrument that encapsulates what you are after; but the components do exist. At least in Canada, there are many Options traded on the Montreal Exchange that are based on Toronto ETFs.  All the standard TSX ETFs are represented, as well as some of the more exotic.  With a regular investment account approved for Options you should be able to do what you want. In a parallel vein, there are also double down and up ETFs.  One such example are the Horizons BetaPro series of ETFs.  They are designed to return double the market up or down on a daily basis and reset daily.  They do need to be watched closely, however. Good Luck Taking as given that your definition of VA involves selling at intermediate times, your question can be made more general.  After all, value averaging is just one special case of a portfolio that rebalances to target weights periodically. Do back-end fees (and front-end fees) harm the value of portfolios that require rebalancing?  The answer is yes, they do.  Those fees are put in place in order to prevent investors from redeeming shares over any but the longest horizons.  Any portfolio that rebalances periodically will involve some periodic selling.  If you invest in a fund with front-end or back-end fees, it is optimal to leave your money in it for as long as possible and not do any rebalancing. If you want to run a portfolio that is at all active (involves rebalancing), then it is probably wise to use no-load funds. These are often some of the best and cheapest funds anyway, but even if front or back end load funds have a lower expense ratio, you will likely lose money on those loads as you rebalance. you can check google scholar for some research reports on it.  depends how complex you want to get...  it is obviously a function of the size of the portfolio of each type of asset. do you have a full breakdown of securities held? you can get historical average volumes during different economic periods, categorized by interest rates for example, and then calculate the days required to liquidate the position, applying a discount on each subsequent day.