Gold has a bit of a weird role in D&D – it is generally expected to be desired, yet a default out-of-the-box D&D campaign does not provide a lot of things to do with it. An option of investing is sometimes mentioned, which gave me the idea of adding a living macro economy to my setting.
What This System Does
Basically, we’re going to generate a table for stock prices of past and future. Players simply buy a stock for the current market price, and can sell it at some point in the future for the new market price.
This system takes type of stock, volatility and general market tendency into consideration. Theoretically, seasonal influences could be added as well, but I won’t go into that in this introduction. The system works on a monthly basis, to prevent players getting obsessed with daily fluctuations.
Disclaimer: I am no economist. I made this as a fun way to effectively gamble (and yes, that’s how I see real-life stock markets).
Type of Stock & Volatility
I’ve abstracted stocks into sectors of industry. You could easily do this for factions/corporations in your setting, as well.
I took a broad selection of stores and gave each a base value. In my case, my market simulation starts 4 years before present campaign time. Players could perhaps purchase this market data for a small fee. This base value is the start-off point.
After that, I added volatility. This is basically a percentual modifier. A volatility of 10 means that stocks could dip or rise 10% each month, compared to previous month.
SECTOR | Base Price | Volatility |
General Store | 100 | 10 |
Inn | 150 | 15 |
Alchemist | 200 | 20 |
Tailor | 150 | 10 |
Jewelry | 300 | 5 |
Blacksmith | 120 | 15 |
Barber | 80 | 5 |
Butcher | 100 | 10 |
Brewer | 120 | 20 |
Stable | 80 | 15 |
Shipping | 250 | 30 |
Bakery | 80 | 10 |
Business with large transactions get a larger base price – there’s simply less money in barbering than in shipping. However, I’ve made shipping quite volatile – storms, pirates and outside influences can have a big impact on shipping stock prices. Alchemists rely on rare resources, while jewelry is basically always in fashion.
Market Tendency
This is a simple base modifier, that signifies overall market health. I started it at 100 in year 1 month 1. Each month after that randomly picks a number between -2 and +3, meaning the market will overall increase in value over time.
Putting It Together
This is a little tricky – I made the model in Google Sheets, and it takes a bit of tinkering, but once it’s there, it doesn’t really need any modifications and simply becomes a look-up table.
On the vertical axis, I add the years and months and the Market Tendency. On the horizontal axis at the top, I add every type of stock.
Year | Month | Market Tendency | General Store | Blacksmith | Barber |
2019 | 1 | 100 | |||
2019 | 2 | 99 | |||
2019 | 3 | 100 | |||
2019 | 4 | 101 |
In the cells, I add a formula that does the following:
=(Base Price * (Market Tendency / 100)) * ((100+RANDBETWEEN(-Volatility;Volatility))/100)
The second part is done in the size of 100 instead of percentages because Randbetween only works with whole numbers.
Once you’ve filled in the values for the top row, “lock” the proper values in place so you can just drag the formula down so you can fill out the entire table instantly.
Copy the entire table to a new sheet and paste values only, to prevent the random number selector from changing every time you open the table.
I’ve made an example sheet, which can be viewed/copied.

Past & Future
For ease of use, I’ve simulated 4 years in the past and 3 years in the future. Whenever an ingame month passes, I can just look up the new values!