The Best Free Stock Portfolio Tracking Spreadsheet using Google Drive

stock portfolio tracking spreadsheet

The Best Stock Portfolio Tracking Spreadsheet

A project that I’ve always had, was to improve on my stock portfolio tracking spreadsheets.

During this time, I’ve probably used 10 or so different portfolio trackers, but nothing met my needs. I don’t do complicated transactions, but still, nothing could really satisfy me.

But those four long years have passed, and I believe I finally have a version that will serve my needs and fulfill its purpose for a long time.

Main Needs from a Portfolio Tracking Spreadsheet

  • Enter transactions into a single column without splitting up different transactions
  • Spreadsheet should be able to automatically update how many shares I’m holding for any company
  • Account for dividends
  • Account for splits

I don’t do options so I have no need for such transactions. Don’t see why it would be hard for you to edit though.

Previous Versions of the Portfolio Spreadsheet

The original portfolio spreadsheet could only factor in simple buy and sell transactions and had to separate it.

Then a Google spreadsheet version was released which made it easier to track but not being able to automatically update the cumulative number of shares held for each position, made keeping track difficult.

The improved portfolio spreadsheet even had an interactive time line to track the portfolio growth but it never really took off. Too much hassle of having to update the portfolio values regularly. Also bad to look at your total portfolio that often as well.

Now this new stock portfolio tracking spreadsheet blows it all out of the water. It doesn’t solve everything but it does most of what I need.

New Stock Portfolio Tracker Spreadsheet

Full credit goes to Investment Moats for his amazing spreadsheet. See it in action.

The creator is a Singaporean investor and it will work right away with what he has, but I made some edits to tailor it for the US exchanges (including pink sheets, OTC and ADR’s) and to clean it up a little.

So you have two options. Use the original or use my edited version.

How to Use and Get a Copy for Yourself

Full details and instructions can be found on Investment Moats’ website. Read the “Read me section” in the spreadsheet as well.

Click below.

Yellow cells is where you manually enter data. Aqua colored cells are formulas so do not overwrite.

To save a copy into your own account, do the following:


How to Edit the Charts in the Spreadsheet

I’ve added three charts to the summary tab. For every new position, you will have to edit the ranges for it to be reflected in the graphs. I will show you how here.

There is a tab called “ChartsData” which holds and sorts the data for the graphs by market value.

No need to change anything in the “ChartsData” tab. This tab is only used to display and sort data.

Do not enter anything in this section.

Below is one of the graphs/tables in the Summary section.

Click on the table once and a “Chart” menu will appear. Click that and in the menu you can edit the chart.

Editing Your Chart

Editing Your Chart

Select Edit Chart to bring up the chart editor.

Editing the Ranges in the Chart Editor

Use the Chart Editor to Edit Ranges of the Table and Chart

The data range is:

ChartData!B1:B11, ChartData!D1:D11, ChartData!M1:N11, ChartData!Q1:R11

Columns B, D, M, N, Q and R are used in the table with values from row 1 to 11. In the spreadsheet, I only have 10 holding positions where row 1 is the table headings and the data is contained within row 2 to row 11.

Identifying the Positions

Identifying the Rows and Cols

E.g. if you have 20 current holdings and need to update the graph, the data ranges would be

ChartData!B1:B21, ChartData!D1:D21, ChartData!M1:N21, ChartData!Q1:R21

To see the ranges in more detail, click the grid icon next to the range values to bring up this window.

Updating the Ranges

Update the Range Based on Your Total Positions

You can add more detail to your table by adding another range.

Press ok and save.


The other two graphs you will need to update include a pie chart displaying sizing and gain/loss.

Gain Loss Pie Chart

Gain Loss Pie Chart

Gain Loss Bar Chart

Gain Loss Bar Chart

Another Portfolio Tracker made in Java

Maybe you don’t like the idea of storing your information on the cloud or on Google’s servers.

Therer is an alternative.

Here is a free, lite, portable and java portfolio tracker that you can use. Again thanks to Investment Moats for bringing it to my attention.

You need to have Java installed on your computer for this to run though. It is still in beta stage so expect bugs and limited documentation but a very good freebie.

Import feature doesn’t work too well so if you have hundreds of transactions to enter, it will take you a long time. But still, better than most.

Truly the Best Stock Portfolio Tracker

After plugging in all my historical transactions, all I can say is that I’m hooked with this version.

It has made tracking my portfolio and other stocks so much easier.

I will continue to add good features to this Stock Portfolio Tracking Spreadsheet when it becomes a need, but until then, enjoy.


  • This looks great – thanks.
    I can’t seem to make a copy of the spreadsheet. the only available options under the File tab are share, download as, and print.

  • log into your google docs account

  • brYan

    Thank you Jae and Investment Moats for sharing. I was already using Google Docs to track portfolios but your versions are better than mine.

  • Felix

    Any thoughts of converting this into an Excel spreadsheet with SMF_ADDIN

  • Yes I did think about that. I wouldn’t need the SMF add in for that though because mainly only the price quote is needed. Next time though.

  • Mariano

    A friend recommended me It is a Spanish website, but its portfolio tool is really good. It is simple to use, but it gives good information about the risk and return. The problem is they still do not cover the US market so they do not have US Mutual Funds. I wrote them and they told me that they are considering the US market.

  • Thanks a lot! Tracking is an issue I have wanted to fix for a while.

    How would I go ahead and add Canadian stock data to the spreadsheet?

  • You would just enter the Canadian index and ticker I would think. e.g. TSE:DSA or something like that.

  • Abe

    I have tried to download the spreadsheet but was unsuccessful. I went Google Docs and when I copy I end up copying the Stock Portfolio Tracker which is not the spreadsheet showing stocks. It is the one that refers to the instructions and the revision information. How do I download the actual stock spreadsheet?

  • @ Abe,
    You have to “copy as” to your own google account instead of trying to download it. This is not a version that you can download. This is an online version.

  • I need some help here. Why spend your retirement doing all this spreadsheet stuff when Schwab and others do it all for you. All you do is the trade. And Schwab and possibly others as well calculate total return and compare it to a benchmark.

  • This spreadsheet tracks every purchase and sale. Much more powerful and detailed than any portfolio management feature from a broker which I find to be very lacking.

  • scheye

    Is it possible to add a chart for time comparison of your portfolio market value and compare it to SPY?

  • Raj

    I made a copy of this spreadsheet in my google docs. However, the link on how to use this spreadsheet has a problem and I cannot seem to get access to it – says 403-forbidden. Any idea why? Are you still using this cloud document or have you converted this into a downloadable spreadsheet?

  • Try again. Working fine.

  • Dennis Goodwin

    To really and effectively make a stock tracker effective, it would be nice to show what the ANNUALIZED return is of the stock and the entire portfolio as a whole, taking into consideration dividends, partial sales, cash deposits to the portfolio and of course cash withdrawls either from stock sales and/or cash dividend withdrawls.
    We all project what annual return is needed to survive in retirement for example, but it get complicated when we withdraw and add cash to a porfolio.
    Can you do this??

    Dennis Goodwin

  • Manuel Crescini

    First time I tried to use google spreadsheet(the copy)for tracking my stocks portfolio. I like this but my first problem is assessing and using google get data and it seems I had a hard time getting it right. My data entry seems doing nothing. Please advise.


  • Richard

    I appreciate the shared spreadsheet. In the Transactions Tab Cell K3 showing “Error. No Previous Units” which i assume relates to Cell H2 which is defaulted to 0.0 because H2 is the first Previous Unit cell. I have replaced the spread sheet twice in case it was a bug issue but the problem is still there.

    Please advise
    Sydney, AUS

  • @ Dennis,
    That’s going to be awfully. Probably best suited to get a professional software for a job like that.

    @ Manuel,
    Not sure what you mean. Please clarify.

    @ Richard,
    Did you change anything in the formula because it doesn’t depend on H2 at all. It just looks through the list to see whether the ticker appears before and then retrieves a value if it does.

    So you still get an error even with the default version that I have?

  • Martin Murphy

    I just happened upon your site last week, it has a lot of great information that I am still digesting. I happened upon this Portfolio spreadsheet this morning. However when I open the “shared spreadsheet” in my google docs and try to save a copy, the only option available on the sheet is “view only” on my browser file tab, there is a “save as…” if I select that, it opens a save a webpage window, and selects the “save as type” box to “Web archive, single file(*.mht) what am I doing wrong?


  • Hey Martin.
    You need to be logged into your google docs account. You will then see the option to “make a copy” under File.

  • Martin Murphy

    Thanks Jae,
    Everything works perfectly now.


  • Well, I created advanced portfolio tracking system using Excel and latest Microsoft technology – PowerPivot (free add-in for Excel). To be honest not all of your requirements are met, but I am still working on making dividends and splits downloaded automatically. But check reports that already included – new technology lests me get portfolio value for any point in time so I can do very advanced reports. I am also tracking cash balance. In my case I was able to match bank statements and my Excel workbook penny-for-penny for any date I select. Please take a look and consider it using for your investment tracking:

  • Lou chen

    @mariano…í´ve tried…it is fun, the portfolio tool is very good and simple to use…much better than excel, which for me is far too complex…and they have an iphone app that does the work. As for the rest, the community they have looks fun, although it is all in spanish and I do not understand what they talk about.

  • how do you enter dividends

  • Pingback: Investment Portfolio Spreadsheet()

  • JT

    Jae, great spreadsheet. Any worries about Google’s limitations on number of cells (400K total)?

    I guess it probably shouldn’t be a problem unless you’re an active trader.

  • I’ve never used 400k cells so that hasn’t been an issue. Otherwise you can just create another copy and rename it part 2 or something.

  • Pingback: Neil Olshey didn't follow a traditional path to the top, but made smart career … - A Free Online Guide for Valuable Investment Information -

  • HI Jae Jun, thanks for highlighting my spreadsheet. I hope you guys find it useful here.

  • Hi your google docs spreadsheet is great. I saved it to my google docs account and then saved as a spreadsheet in excel format because I don’t want my boss to see me surfing the net at work and we use excel. What is the excel equivalent to this formula that you have in the Transactions_OSV tab in cell k2 ie how do I convert this to excel formula

    |=iferror(if(row()2,INDEX(arrayformula(filter($N1:$N$2,$C1:$C$2″”,row($C1:$C$2)=max(if($C1:$C$2=C2,row($C1:$C$2),0)))) ;1),0),0)

    please let me know as everything else appears to work (in terms of excel formulae).

  • The arrayformula function does not exist in excel.
    I’ve been meaning to create an excel version but didn’t get around to doing it.

    Instead of using the arrayformula, you’ll have to use a much more complicated formula to get it working in excel which I haven’t figured out myself.

    Been meaning try and convert it to an excel version but just forgot about it all.

  • Scot Jefferies

    Thanks Jae Jun and Kyith at Investment Moat for sharing this tool. I am interested in adapting the spreadsheet to include equity options. My spreadsheet authoring skills are very low but I’m willing to work on it. My initial challenge is to import the relevant data for a specific option. From my research the “Google Finance” function doesn’t support options at this point. I’ve attempted using this function as a work around:


    However, the result is a table of the entire options chain for a specific month. I’m not sure how to then automate a process to extract the data for the one option that I want, reformat as needed and place the info in the correct tracker cells. With a couple of dozen options investments to include a simple and effective automation process is important.

    Any suggestions? Alternate data sources? Etc?

  • really not sure about options at the moment. It would require a completely different spreadsheet.

    If you go to they have a free excel add-in that will scrape data from webpages, much like the importhtml feature but much more powerful. They also have free options templates available as well.

  • Tyler

    If you try to add TSE symbols e.g. TSE:DSA, this will not work:

    The official Google doc says that Foreign Exchanges are not supported but will be.

  • Tyler

    Here’s a fix to add TSE stocks.!topic/docs/gCdqZ6rPe0A


  • Achilleas

    Hi Jae,

    I was wondering if you are aware of a list with the letters that we need to add to googledoc in order to get results from international exchanges.

    for example Canadian stocks are .TO (MB.TO)

    Any idea for other exchanges? Thank you in advance

  • Sorry that is not something I know. I only stick with US stocks and exchanges. It will be up to others to figure it out for their home country.

  • Oral Powell

    Thanks for such a useful tool guys. I am seeking to incorporate my bonds trading into this sheet but am facing some challenges as it does not account for the periodic coupon/interest payments or to show accrued interest etc.; is there another sheet that tracks such assets better given that this is geared mostly towards tracking stocks?

  • that would require a separate spreadsheet and would require manual updates.
    I don’t have one available but with little tweaks on an excel spreadsheet, you should be able to achieve what you are looking for.

  • NZ Doc

    Does anyone know how to include exchage rates? I buy in a different currency to the market.


  • you could just add another column and include a multiplier for the exchange range.

  • RC

    Can Google Docs Spreadsheet calculate the standard deviation?

  • If you know how, yes. You can perform all sorts of calculations.

  • Don DeMaio

    This link is broken.

  • [email protected]

    Your Portfolio spreadsheet is now of date with SMF-ADDIN updates. Element 25 is new obsollete. As is many MSN elements.
    Any chance you might bring it upto date?

  • right now the sites to get public financial data is dying so I highly recommend switching to the new version which does not rely on an add-in.

    For previous customers, I offer a discount coupon to offset the cost as well.

  • C.c. Ue

    The portfolio spreadsheet is great, better if Options trading is included

  • sorry but options isn’t supported as it’s a completely different set of rules and criteria that needs to be supported.

  • Joris

    Hi Jae, this is an amazing article. Very interesting!

    One question. Is it possible that the last link in the sentence “I will continue to add good features to this Stock Portfolio Tracking Spreadsheet” is broken?

    Thank you,


  • hi Joris,

    What do you mean by broken?

  • Joris

    Hi Jae,

    It must a misunderstanding on my side. I thought that the link would actually refer to an actual spreadsheet, but it refers to the article itself.


  • trading.jeff

    I just came across your spreadsheet and have downloaded it. I have yet to study it, in depth, so my question may be redundant for which I apologize in advance. My question is this: How would I include stocks that I currently own (before today) and reflect the time I’ve owned them, say, stock XYZ which I purchased in June 2013? Thank you in advance.

  • no worries. If you go to the transactions tab, you just enter the historical transaction data.

  • sorry i am the creator of the Google Spreadsheet and when i planned this OPtions wasn’t on the agenda. but hope it enlightens u how to create an options one for yourself

  • Noyb

    Just a few comments, I have not read all of the existing comments:

    1) This web site is dreadful on an iOS device. Just so you know.

    2) Anytime you link to a Yahoo you are asking for trouble. Yahoo changes links with free abandon and having hard coded links never works for long.

    No more, hope your spreadsheet is better than your web site.

  • thanks for the comment. The site should work on mobile so feel free to leave comment on what isn’t working well on iphone. Be more than happy to take a look.

  • Noyb

    I use and iPad, iOS7. Tried with either Safari or Mercury with OS X set as the user agent. Both displayed the same issues: 1), Pure and simple crashes while waiting for a page to load. 2), Dreadfully slow, as in probably the slowest site I’ve seen in a long time. I’m not going back to try again. On a desktop now and the site is responding well. 3), The oldschoolvalue site has already crashed Safari once so far in this effort to respond.

    Can’t say precisely what isn’t working other than its crashing browsers.

  • Well I have to give you a big thank you because it reminded me of a change I made recently and it looks like I was getting DOS attacks from Russia from an open IP. All good now and site is back up to speed.

  • ZERO


  • shorting isn’t supported

  • Don H

    Don H – Using your spreadsheet and it works great! One question, when entering a dividend payment you say to enter the X-Dividend Date rather than the payment date – Why?

  • It doesn’t really matter. Consistency is the key.

  • Steve Gordon

    So… where is it? You version, I mean. I don’t see a link.

  • click the social button to unhide 🙂

  • Guest

    Thanks! Most of the time this blog page loads for me there is no “social” – only a box to enter my email. But randomly this time the social was there, so I have it now.

    I think your sheet is much simpler than the original. But 2 questions:

    1) Can you add cash, which automatically deducts from when buy stocks, like the original sheet does?

    2) Your Total Growth and Dividend Portfolio Cost cells (B17 and B24) on the Summary page both refer to column N. I think it should be K, right?

  • steve

    This looks interesting. Do you have it in .xls format. I have downloaded it (as .xlsx) and xl is having problems converting it! thanks

  • This only works for Google spreadsheets because they use different functions.
    You’ll have to redo the formulas if you want an excel version.

  • Anthony

    How do you get TSE stocks to work?

  • only US stocks. You can modify it though. Shouldn’t be difficult.

  • rajdatta

    Jae Jun, I can’t seem to get your “cleaned up” version. I can access the Investment Moat version (Singaporean version), but not your US version. I even signed up for your newsletter, but there is no link to download your version. I’m at my wits end.
    Simple request – pls provide me that link.

  • simply click on the one of the social sharing buttons to reveal the link.

    It’s right there under “How to Use and Get a Copy for Yourself”

  • rajdatta

    ah … thank you! Ur version of the spreadsheet is so much cleaner & intuitive.
    It wasn’t clear that that the Twitter/ FB etc. button had to be clicked.

  • Amrit S

    Will this spreadsheet be able to get online/automated data from which is basically stock price of Nepali market?

  • Mathiew Bumquist

    Just wanted to see if you’re still maintaining this? It sounds and looks good, but I’ve found other similar tools (such as StockMarketEye) and am trying to compare. In any case, thanks for the work you (and others) have already put in.

  • yes this spreadsheet continues to work good

  • Pingback: Spreadsheet Template To Track Stocks | Great Stock Market Futures()

Ready to try Old School Value?