Full notes
Full Line Go Up update
Read the full published notes in a cleaner layout. The original post stays linked below.
What changed
- Gameplay
- Balance
- Performance
Welcome to Dev Diary 5! Today we will begin the development of a new “nightmare” market condition. This process is usually non-linear and involves a large amount of trial and error. As such, this process will take multiple diaries, may suddenly backtrack, or end up in unexpected places.
As a warning, this material will be relatively technical. The goal is ending up with a market condition that is unique and has a nuanced solution (rather than simply broad-based index-like investing). To get to this type of iterative work, this diary will primarily introduce background information on the underlying game processes.
Defining prices changes
In developing a new market condition, my first step centers around defining the expected changes in stock prices. Mathematically, this is represented with:
price change = average change + noise
where noise is randomly determined from a continuous Uniform distribution from negative m*v to positive m*v, where m is a multiple that controls the level of variability in stock movements and is unique to each market condition, and v is a unique characteristic of each company and is constant across all market conditions. “average change” is the primary component that gives each market condition a unique “feel”, because its definition broadly determines which stock goes up and which goes down under particular circumstances. Thus, going forward, we will primarily focus on average change.
How to define average change?
At least in the currently available market conditions, average change was first defined for stocks without any consideration for a “unique” signal (denoted by “ base change ”) and then modified based on certain conditions that occur throughout a game. With this approach, we can define the following base change (which regularly appeared in harder difficulties, including Dev Diary 3):
current stock price * (target return - stock dividend)
where target return is the target percent return on a stock for every turn. Multiplying by the current stock price ensures the base change does not explicitly favor low or high prices stocks, while subtracting the stock dividend tries to balance the approach to not clearly or systematically favor stocks with higher or lower dividends. In practice, this base change is useful for more difficult scenarios because most stocks do not have clearly better performance after adjusting for current stock price and dividend. Thus, we will plan to use it for our nightmare scenario.
Now we need to identify the modifications to the base change that provide a sufficient signal to develop a trading strategy that can consistently outperform simple strategies. For this market condition, our base hypothesis is changing the importance of the stock dividend in the base change. We could represent this in a general manner with
current stock price * (target return - (stock dividend) ^ x)
where x is a number greater than 0. In practice, this approach will change the level of dividend discounting. Specifically, because the stock dividend is always between 0 and 1, values of x less than 1 will increase the dividend discount, while values of x greater than 1 will decrease the dividend discount. As illustrated below, the adjustment for the dividend discount can change dramatically depending on the value of x.
However, the impact of this type of relationship on an optimal trading strategy is not particularly clear. To help, we can assume the target return is 10%, which is represented in the equation by 0.10, then the overall return inclusive of the dividend becomes
current stock price * (0.10 - (stock dividend) ^ x) * (1 + dividend)
This equation slightly differs because it accounts for the change in the stock price and the subsequent dividend when assessing overall return. Ignoring the current stock price, we plot the anticipated overall return as a function of x. Because none of the lines for different dividends cross each other, this approach is uniformly better for stocks with smaller dividends if x is always constant.
Rather than keep x constant, we could differ x across the different stocks. For example, x could be a function of stock price (that is, replacing x with ‘100 / current stock price’):
current stock price * (0.10 - (stock dividend) ^ (100 / current stock price))
with the idea being that higher stock prices (>$100) are more likely to have low or negative returns and lower stock prices (<$100) are more likely to have larger returns. Using the same relationship above, we can plot the overall return inclusive of the dividend:
While lower dividend stocks remain higher than higher dividend stocks, the current stock price will vary across the game in an informative manner such that a higher dividend stock may sometimes be a better strategy.
Next steps
That will be all for this diary. In the next diary, we will begin implementing and testing the above approach in Line Go Up, which will occur in 2 weeks rather than the usual 1 week.
Source
Changelog.gg summarizes and formats this update. How we read updates.
