States and rewards: what you tell the learner decides what it learns

On this page
  1. A Q-table needs a list of states
  2. Too few bins merge situations, too many leave states empty
  3. Holdings belong in the state
  4. Four rewards for the same ten days
  5. A bonus teaches the learner to collect the bonus
  6. Traps
  7. The code
  8. Summary
  9. References

Every post in this series so far has used a state with two values. In Q-learning: one update rule, repeated it was the holding, cash or long; in Dyna: learn a model of the world, then practise in it it was what SPY did yesterday, up or down. Two values kept the arithmetic small enough to do by hand. A real trading learner looks at indicators, and an indicator is a number on a continuous scale: the Bollinger position on the evening of 2022-12-30 was −0.3849, and the next evening it will be something else that has never appeared before. A Q-table has one row per state, so before it can learn anything somebody has to decide which readings count as the same state. That decision, and the matching decision about what the reward is, shape what the learner can learn more than the update rule does. This post works through both on SPY from 2020 to October 2025 and on the ten January 2023 days the series has used all along.

A Q-table needs a list of states

Mitchell names the limit directly. The Q-learning he describes keeps “an explicit lookup table, with a distinct table entry for every distinct input value”, so it does “a kind of rote learning” and makes no attempt to estimate an unseen state from similar ones (section 13.6). A table of indicator readings would have a new row almost every day, and each row would be updated once. The usual move is to cut each indicator’s range into a few pieces, called bins, and treat every reading that falls in the same piece as the same state. Sutton and Barto call this state aggregation: “states are grouped together, with one estimated value … for each group” (section 9.3). Whatever the learner learns about a group, it applies to every reading inside it.

Take three indicators of SPY from the indicators post: the Bollinger position (where the close sits between the bands, −1 at the lower band and +1 at the upper), the 20-day return, and the 20-day volatility (the standard deviation of the last 20 daily returns). Cut each one at its quartiles, the readings that a quarter, a half and three quarters of the 1,447 days fall below. Three thresholds make four bins, numbered 0 to 3, and each bin holds a quarter of the days. A reading’s bin is simply how many of the three thresholds it is above. Table 1 has the thresholds and the readings on the evening of 2022-12-30, the evening before day 1 of the January 2023 episode:

Table 1. Quartile thresholds over 2020 to 2025, and the readings on 2022-12-30
Indicator25%50%75%Reading on 2022-12-30Bin
Bollinger position−0.20130.42220.7204−0.38490
20-day return−0.97%2.10%4.25%−5.69%0
20-day volatility (daily)0.68%0.90%1.26%1.16%2

The Bollinger reading of −0.3849 is below all three thresholds, so it is in bin 0, the lowest quarter. The 20-day return is also in its lowest quarter, and the volatility is above two thresholds, so bin 2. In words: SPY closed in the lower part of its bands, after a falling month, in a fairly nervous market. Figure 1’s first panel shows the Bollinger position over the six years with the three thresholds drawn across it; the dot is this evening.

Three bin numbers become one state label the way digits become a number. Read them in a fixed order and write them side by side, 0, 0, 2 gives “002”. If the table wants a row number instead of a string, weight each digit by a power of the number of bins, as the hundreds, tens and ones of an ordinary number are weighted by powers of ten:

s, the state label, one row of the Q-table

s=16 b1+4 b2+b3\key{s} = 16\,b_1 + 4\,b_2 + b_3

Here b1b_1, b2b_2 and b3b_3 are the three bin numbers, each 0 to 3. For 2022-12-30, s=16×0+4×0+2=2\key{s} = 16 \times 0 + 4 \times 0 + 2 = \key{2}, and the labels run from 0 (all three in bin 0) to 63 (all three in bin 3). Nothing about the label is clever. It is a row number, and the only thing it must do is give two evenings the same row exactly when they fall in the same three bins.

Note. The thresholds above use all six years, which is fine for counting, as here. A learner trained on 2020 to 2023 has to take its thresholds from those years only; thresholds computed on the full history would tell it where the future’s readings fall, which every feature has a timestamp covers in detail.

Too few bins merge situations, too many leave states empty

The number of possible labels is the number of bins multiplied by itself once per indicator:

N, the number of possible states

N=bd\key{N} = b^{d}

with bb bins per indicator and dd indicators. Three indicators at four bins give N=43=64\key{N} = 4^3 = \key{64}. The days, however, are fixed: 1,447 of them, whatever the bins are. Table 2 counts, for each choice of bb, how many states the bins create, how many at least one day lands in, and how many receive ten days or more:

Table 2. States created and states visited, three SPY indicators, 2020 to 2025
Bins per indicatorStates possibleVisited at least onceVisited ten times or moreDays in states seen under ten timesMedian days per visited state
28880136
32726211947
46456435121
5125995421811
101,000506101,3052

Two things go wrong, one at each end.

Too few bins. At two bins per indicator every state is visited more than a hundred times, which looks healthy, but each bin is now half of all the readings. The lower half of the Bollinger position runs from −1.76-1.76, the close of 2025-04-04 during the April 2025 sell-off, to +0.42+0.42, a close a little above the 20-day average. Those two evenings get the same label on that axis. If the right action after a crash is different from the right action on a quiet day, the learner cannot find it, because it never sees the difference: both evenings update the same row. The MDPs post stated this as a demand on the state, and here it is in numbers. No learning rate, exploration rate or amount of training fixes it, because the information is not in the label.

Too many bins. At ten bins per indicator the bins create 1,000 states, the data lands in 506 of them, and only 10 are visited ten times or more. The median visited state has two days in it, and 1,305 of the 1,447 days sit in states seen fewer than ten times. Each of those rows has been updated once or twice from one or two noisy daily returns. Mitchell’s convergence proof for the table holds “only if every possible state-action pair is visited (infinitely often!)”, which he calls unrealistic in large spaces (section 13.6); 494 states with no visit at all keep whatever starting value they were given. Sutton and Barto put the general problem in the introduction to their Part II: “The problem with large state spaces is not just the memory needed for large tables, but the time and data needed to fill them accurately.” Figure 1’s second panel shows the gap opening: the states created climb by a factor of b3b^3, and the well-visited ones turn down after five bins.

{"panels":[{"x0":54.44,"x1":561.99,"y0":29.16,"y1":214.99,"title":"1. One indicator cut into four bins at its quartiles","xlabel":"Trading day (2020 to 2025)","ylabel":"Bollinger position (bands at -1 and +1)","xlog":false},{"x0":54.44,"x1":561.99,"y0":363.44,"y1":549.28,"title":"2. More bins create states faster than the days can fill them","xlabel":"Bins per indicator (three indicators)","ylabel":"Number of states (log scale)","xlog":false}],"series":[{"panel":0,"label":"SPY's Bollinger position","color":"var(--chart-grey, #a3a19c)","kind":"line","x":["2020-01-31","2020-02-03","2020-02-04","2020-02-05","2020-02-06","2020-02-07","2020-02-10","2020-02-11","2020-02-12","2020-02-13","2020-02-14","2020-02-18","2020-02-19","2020-02-20","2020-02-21","2020-02-24","2020-02-25","2020-02-26","2020-02-27","2020-02-28","2020-03-02","2020-03-03","2020-03-04","2020-03-05","2020-03-06","2020-03-09","2020-03-10","2020-03-11","2020-03-12","2020-03-13","2020-03-16","2020-03-17","2020-03-18","2020-03-19","2020-03-20","2020-03-23","2020-03-24","2020-03-25","2020-03-26","2020-03-27","2020-03-30","2020-03-31","2020-04-01","2020-04-02","2020-04-03","2020-04-06","2020-04-07","2020-04-08","2020-04-09","2020-04-13","2020-04-14","2020-04-15","2020-04-16","2020-04-17","2020-04-20","2020-04-21","2020-04-22","2020-04-23","2020-04-24","2020-04-27","2020-04-28","2020-04-29","2020-04-30","2020-05-01","2020-05-04","2020-05-05","2020-05-06","2020-05-07","2020-05-08","2020-05-11","2020-05-12","2020-05-13","2020-05-14","2020-05-15","2020-05-18","2020-05-19","2020-05-20","2020-05-21","2020-05-22","2020-05-26","2020-05-27","2020-05-28","2020-05-29","2020-06-01","2020-06-02","2020-06-03","2020-06-04","2020-06-05","2020-06-08","2020-06-09","2020-06-10","2020-06-11","2020-06-12","2020-06-15","2020-06-16","2020-06-17","2020-06-18","2020-06-19","2020-06-22","2020-06-23","2020-06-24","2020-06-25","2020-06-26","2020-06-29","2020-06-30","2020-07-01","2020-07-02","2020-07-06","2020-07-07","2020-07-08","2020-07-09","2020-07-10","2020-07-13","2020-07-14","2020-07-15","2020-07-16","2020-07-17","2020-07-20","2020-07-21","2020-07-22","2020-07-23","2020-07-24","2020-07-27","2020-07-28","2020-07-29","2020-07-30","2020-07-31","2020-08-03","2020-08-04","2020-08-05","2020-08-06","2020-08-07","2020-08-10","2020-08-11","2020-08-12","2020-08-13","2020-08-14","2020-08-17","2020-08-18","2020-08-19","2020-08-20","2020-08-21","2020-08-24","2020-08-25","2020-08-26","2020-08-27","2020-08-28","2020-08-31","2020-09-01","2020-09-02","2020-09-03","2020-09-04","2020-09-08","2020-09-09","2020-09-10","2020-09-11","2020-09-14","2020-09-15","2020-09-16","2020-09-17","2020-09-18","2020-09-21","2020-09-22","2020-09-23","2020-09-24","2020-09-25","2020-09-28","2020-09-29","2020-09-30","2020-10-01","2020-10-02","2020-10-05","2020-10-06","2020-10-07","2020-10-08","2020-10-09","2020-10-12","2020-10-13","2020-10-14","2020-10-15","2020-10-16","2020-10-19","2020-10-20","2020-10-21","2020-10-22","2020-10-23","2020-10-26","2020-10-27","2020-10-28","2020-10-29","2020-10-30","2020-11-02","2020-11-03","2020-11-04","2020-11-05","2020-11-06","2020-11-09","2020-11-10","2020-11-11","2020-11-12","2020-11-13","2020-11-16","2020-11-17","2020-11-18","2020-11-19","2020-11-20","2020-11-23","2020-11-24","2020-11-25","2020-11-27","2020-11-30","2020-12-01","2020-12-02","2020-12-03","2020-12-04","2020-12-07","2020-12-08","2020-12-09","2020-12-10","2020-12-11","2020-12-14","2020-12-15","2020-12-16","2020-12-17","2020-12-18","2020-12-21","2020-12-22","2020-12-23","2020-12-24","2020-12-28","2020-12-29","2020-12-30","2020-12-31","2021-01-04","2021-01-05","2021-01-06","2021-01-07","2021-01-08","2021-01-11","2021-01-12","2021-01-13","2021-01-14","2021-01-15","2021-01-19","2021-01-20","2021-01-21","2021-01-22","2021-01-25","2021-01-26","2021-01-27","2021-01-28","2021-01-29","2021-02-01","2021-02-02","2021-02-03","2021-02-04","2021-02-05","2021-02-08","2021-02-09","2021-02-10","2021-02-11","2021-02-12","2021-02-16","2021-02-17","2021-02-18","2021-02-19","2021-02-22","2021-02-23","2021-02-24","2021-02-25","2021-02-26","2021-03-01","2021-03-02","2021-03-03","2021-03-04","2021-03-05","2021-03-08","2021-03-09","2021-03-10","2021-03-11","2021-03-12","2021-03-15","2021-03-16","2021-03-17","2021-03-18","2021-03-19","2021-03-22","2021-03-23","2021-03-24","2021-03-25","2021-03-26","2021-03-29","2021-03-30","2021-03-31","2021-04-01","2021-04-05","2021-04-06","2021-04-07","2021-04-08","2021-04-09","2021-04-12","2021-04-13","2021-04-14","2021-04-15","2021-04-16","2021-04-19","2021-04-20","2021-04-21","2021-04-22","2021-04-23","2021-04-26","2021-04-27","2021-04-28","2021-04-29","2021-04-30","2021-05-03","2021-05-04","2021-05-05","2021-05-06","2021-05-07","2021-05-10","2021-05-11","2021-05-12","2021-05-13","2021-05-14","2021-05-17","2021-05-18","2021-05-19","2021-05-20","2021-05-21","2021-05-24","2021-05-25","2021-05-26","2021-05-27","2021-05-28","2021-06-01","2021-06-02","2021-06-03","2021-06-04","2021-06-07","2021-06-08","2021-06-09","2021-06-10","2021-06-11","2021-06-14","2021-06-15","2021-06-16","2021-06-17","2021-06-18","2021-06-21","2021-06-22","2021-06-23","2021-06-24","2021-06-25","2021-06-28","2021-06-29","2021-06-30","2021-07-01","2021-07-02","2021-07-06","2021-07-07","2021-07-08","2021-07-09","2021-07-12","2021-07-13","2021-07-14","2021-07-15","2021-07-16","2021-07-19","2021-07-20","2021-07-21","2021-07-22","2021-07-23","2021-07-26","2021-07-27","2021-07-28","2021-07-29","2021-07-30","2021-08-02","2021-08-03","2021-08-04","2021-08-05","2021-08-06","2021-08-09","2021-08-10","2021-08-11","2021-08-12","2021-08-13","2021-08-16","2021-08-17","2021-08-18","2021-08-19","2021-08-20","2021-08-23","2021-08-24","2021-08-25","2021-08-26","2021-08-27","2021-08-30","2021-08-31","2021-09-01","2021-09-02","2021-09-03","2021-09-07","2021-09-08","2021-09-09","2021-09-10","2021-09-13","2021-09-14","2021-09-15","2021-09-16","2021-09-17","2021-09-20","2021-09-21","2021-09-22","2021-09-23","2021-09-24","2021-09-27","2021-09-28","2021-09-29","2021-09-30","2021-10-01","2021-10-04","2021-10-05","2021-10-06","2021-10-07","2021-10-08","2021-10-11","2021-10-12","2021-10-13","2021-10-14","2021-10-15","2021-10-18","2021-10-19","2021-10-20","2021-10-21","2021-10-22","2021-10-25","2021-10-26","2021-10-27","2021-10-28","2021-10-29","2021-11-01","2021-11-02","2021-11-03","2021-11-04","2021-11-05","2021-11-08","2021-11-09","2021-11-10","2021-11-11","2021-11-12","2021-11-15","2021-11-16","2021-11-17","2021-11-18","2021-11-19","2021-11-22","2021-11-23","2021-11-24","2021-11-26","2021-11-29","2021-11-30","2021-12-01","2021-12-02","2021-12-03","2021-12-06","2021-12-07","2021-12-08","2021-12-09","2021-12-10","2021-12-13","2021-12-14","2021-12-15","2021-12-16","2021-12-17","2021-12-20","2021-12-21","2021-12-22","2021-12-23","2021-12-27","2021-12-28","2021-12-29","2021-12-30","2021-12-31","2022-01-03","2022-01-04","2022-01-05","2022-01-06","2022-01-07","2022-01-10","2022-01-11","2022-01-12","2022-01-13","2022-01-14","2022-01-18","2022-01-19","2022-01-20","2022-01-21","2022-01-24","2022-01-25","2022-01-26","2022-01-27","2022-01-28","2022-01-31","2022-02-01","2022-02-02","2022-02-03","2022-02-04","2022-02-07","2022-02-08","2022-02-09","2022-02-10","2022-02-11","2022-02-14","2022-02-15","2022-02-16","2022-02-17","2022-02-18","2022-02-22","2022-02-23","2022-02-24","2022-02-25","2022-02-28","2022-03-01","2022-03-02","2022-03-03","2022-03-04","2022-03-07","2022-03-08","2022-03-09","2022-03-10","2022-03-11","2022-03-14","2022-03-15","2022-03-16","2022-03-17","2022-03-18","2022-03-21","2022-03-22","2022-03-23","2022-03-24","2022-03-25","2022-03-28","2022-03-29","2022-03-30","2022-03-31","2022-04-01","2022-04-04","2022-04-05","2022-04-06","2022-04-07","2022-04-08","2022-04-11","2022-04-12","2022-04-13","2022-04-14","2022-04-18","2022-04-19","2022-04-20","2022-04-21","2022-04-22","2022-04-25","2022-04-26","2022-04-27","2022-04-28","2022-04-29","2022-05-02","2022-05-03","2022-05-04","2022-05-05","2022-05-06","2022-05-09","2022-05-10","2022-05-11","2022-05-12","2022-05-13","2022-05-16","2022-05-17","2022-05-18","2022-05-19","2022-05-20","2022-05-23","2022-05-24","2022-05-25","2022-05-26","2022-05-27","2022-05-31","2022-06-01","2022-06-02","2022-06-03","2022-06-06","2022-06-07","2022-06-08","2022-06-09","2022-06-10","2022-06-13","2022-06-14","2022-06-15","2022-06-16","2022-06-17","2022-06-21","2022-06-22","2022-06-23","2022-06-24","2022-06-27","2022-06-28","2022-06-29","2022-06-30","2022-07-01","2022-07-05","2022-07-06","2022-07-07","2022-07-08","2022-07-11","2022-07-12","2022-07-13","2022-07-14","2022-07-15","2022-07-18","2022-07-19","2022-07-20","2022-07-21","2022-07-22","2022-07-25","2022-07-26","2022-07-27","2022-07-28","2022-07-29","2022-08-01","2022-08-02","2022-08-03","2022-08-04","2022-08-05","2022-08-08","2022-08-09","2022-08-10","2022-08-11","2022-08-12","2022-08-15","2022-08-16","2022-08-17","2022-08-18","2022-08-19","2022-08-22","2022-08-23","2022-08-24","2022-08-25","2022-08-26","2022-08-29","2022-08-30","2022-08-31","2022-09-01","2022-09-02","2022-09-06","2022-09-07","2022-09-08","2022-09-09","2022-09-12","2022-09-13","2022-09-14","2022-09-15","2022-09-16","2022-09-19","2022-09-20","2022-09-21","2022-09-22","2022-09-23","2022-09-26","2022-09-27","2022-09-28","2022-09-29","2022-09-30","2022-10-03","2022-10-04","2022-10-05","2022-10-06","2022-10-07","2022-10-10","2022-10-11","2022-10-12","2022-10-13","2022-10-14","2022-10-17","2022-10-18","2022-10-19","2022-10-20","2022-10-21","2022-10-24","2022-10-25","2022-10-26","2022-10-27","2022-10-28","2022-10-31","2022-11-01","2022-11-02","2022-11-03","2022-11-04","2022-11-07","2022-11-08","2022-11-09","2022-11-10","2022-11-11","2022-11-14","2022-11-15","2022-11-16","2022-11-17","2022-11-18","2022-11-21","2022-11-22","2022-11-23","2022-11-25","2022-11-28","2022-11-29","2022-11-30","2022-12-01","2022-12-02","2022-12-05","2022-12-06","2022-12-07","2022-12-08","2022-12-09","2022-12-12","2022-12-13","2022-12-14","2022-12-15","2022-12-16","2022-12-19","2022-12-20","2022-12-21","2022-12-22","2022-12-23","2022-12-27","2022-12-28","2022-12-29","2022-12-30","2023-01-03","2023-01-04","2023-01-05","2023-01-06","2023-01-09","2023-01-10","2023-01-11","2023-01-12","2023-01-13","2023-01-17","2023-01-18","2023-01-19","2023-01-20","2023-01-23","2023-01-24","2023-01-25","2023-01-26","2023-01-27","2023-01-30","2023-01-31","2023-02-01","2023-02-02","2023-02-03","2023-02-06","2023-02-07","2023-02-08","2023-02-09","2023-02-10","2023-02-13","2023-02-14","2023-02-15","2023-02-16","2023-02-17","2023-02-21","2023-02-22","2023-02-23","2023-02-24","2023-02-27","2023-02-28","2023-03-01","2023-03-02","2023-03-03","2023-03-06","2023-03-07","2023-03-08","2023-03-09","2023-03-10","2023-03-13","2023-03-14","2023-03-15","2023-03-16","2023-03-17","2023-03-20","2023-03-21","2023-03-22","2023-03-23","2023-03-24","2023-03-27","2023-03-28","2023-03-29","2023-03-30","2023-03-31","2023-04-03","2023-04-04","2023-04-05","2023-04-06","2023-04-10","2023-04-11","2023-04-12","2023-04-13","2023-04-14","2023-04-17","2023-04-18","2023-04-19","2023-04-20","2023-04-21","2023-04-24","2023-04-25","2023-04-26","2023-04-27","2023-04-28","2023-05-01","2023-05-02","2023-05-03","2023-05-04","2023-05-05","2023-05-08","2023-05-09","2023-05-10","2023-05-11","2023-05-12","2023-05-15","2023-05-16","2023-05-17","2023-05-18","2023-05-19","2023-05-22","2023-05-23","2023-05-24","2023-05-25","2023-05-26","2023-05-30","2023-05-31","2023-06-01","2023-06-02","2023-06-05","2023-06-06","2023-06-07","2023-06-08","2023-06-09","2023-06-12","2023-06-13","2023-06-14","2023-06-15","2023-06-16","2023-06-20","2023-06-21","2023-06-22","2023-06-23","2023-06-26","2023-06-27","2023-06-28","2023-06-29","2023-06-30","2023-07-03","2023-07-05","2023-07-06","2023-07-07","2023-07-10","2023-07-11","2023-07-12","2023-07-13","2023-07-14","2023-07-17","2023-07-18","2023-07-19","2023-07-20","2023-07-21","2023-07-24","2023-07-25","2023-07-26","2023-07-27","2023-07-28","2023-07-31","2023-08-01","2023-08-02","2023-08-03","2023-08-04","2023-08-07","2023-08-08","2023-08-09","2023-08-10","2023-08-11","2023-08-14","2023-08-15","2023-08-16","2023-08-17","2023-08-18","2023-08-21","2023-08-22","2023-08-23","2023-08-24","2023-08-25","2023-08-28","2023-08-29","2023-08-30","2023-08-31","2023-09-01","2023-09-05","2023-09-06","2023-09-07","2023-09-08","2023-09-11","2023-09-12","2023-09-13","2023-09-14","2023-09-15","2023-09-18","2023-09-19","2023-09-20","2023-09-21","2023-09-22","2023-09-25","2023-09-26","2023-09-27","2023-09-28","2023-09-29","2023-10-02","2023-10-03","2023-10-04","2023-10-05","2023-10-06","2023-10-09","2023-10-10","2023-10-11","2023-10-12","2023-10-13","2023-10-16","2023-10-17","2023-10-18","2023-10-19","2023-10-20","2023-10-23","2023-10-24","2023-10-25","2023-10-26","2023-10-27","2023-10-30","2023-10-31","2023-11-01","2023-11-02","2023-11-03","2023-11-06","2023-11-07","2023-11-08","2023-11-09","2023-11-10","2023-11-13","2023-11-14","2023-11-15","2023-11-16","2023-11-17","2023-11-20","2023-11-21","2023-11-22","2023-11-24","2023-11-27","2023-11-28","2023-11-29","2023-11-30","2023-12-01","2023-12-04","2023-12-05","2023-12-06","2023-12-07","2023-12-08","2023-12-11","2023-12-12","2023-12-13","2023-12-14","2023-12-15","2023-12-18","2023-12-19","2023-12-20","2023-12-21","2023-12-22","2023-12-26","2023-12-27","2023-12-28","2023-12-29","2024-01-02","2024-01-03","2024-01-04","2024-01-05","2024-01-08","2024-01-09","2024-01-10","2024-01-11","2024-01-12","2024-01-16","2024-01-17","2024-01-18","2024-01-19","2024-01-22","2024-01-23","2024-01-24","2024-01-25","2024-01-26","2024-01-29","2024-01-30","2024-01-31","2024-02-01","2024-02-02","2024-02-05","2024-02-06","2024-02-07","2024-02-08","2024-02-09","2024-02-12","2024-02-13","2024-02-14","2024-02-15","2024-02-16","2024-02-20","2024-02-21","2024-02-22","2024-02-23","2024-02-26","2024-02-27","2024-02-28","2024-02-29","2024-03-01","2024-03-04","2024-03-05","2024-03-06","2024-03-07","2024-03-08","2024-03-11","2024-03-12","2024-03-13","2024-03-14","2024-03-15","2024-03-18","2024-03-19","2024-03-20","2024-03-21","2024-03-22","2024-03-25","2024-03-26","2024-03-27","2024-03-28","2024-04-01","2024-04-02","2024-04-03","2024-04-04","2024-04-05","2024-04-08","2024-04-09","2024-04-10","2024-04-11","2024-04-12","2024-04-15","2024-04-16","2024-04-17","2024-04-18","2024-04-19","2024-04-22","2024-04-23","2024-04-24","2024-04-25","2024-04-26","2024-04-29","2024-04-30","2024-05-01","2024-05-02","2024-05-03","2024-05-06","2024-05-07","2024-05-08","2024-05-09","2024-05-10","2024-05-13","2024-05-14","2024-05-15","2024-05-16","2024-05-17","2024-05-20","2024-05-21","2024-05-22","2024-05-23","2024-05-24","2024-05-28","2024-05-29","2024-05-30","2024-05-31","2024-06-03","2024-06-04","2024-06-05","2024-06-06","2024-06-07","2024-06-10","2024-06-11","2024-06-12","2024-06-13","2024-06-14","2024-06-17","2024-06-18","2024-06-20","2024-06-21","2024-06-24","2024-06-25","2024-06-26","2024-06-27","2024-06-28","2024-07-01","2024-07-02","2024-07-03","2024-07-05","2024-07-08","2024-07-09","2024-07-10","2024-07-11","2024-07-12","2024-07-15","2024-07-16","2024-07-17","2024-07-18","2024-07-19","2024-07-22","2024-07-23","2024-07-24","2024-07-25","2024-07-26","2024-07-29","2024-07-30","2024-07-31","2024-08-01","2024-08-02","2024-08-05","2024-08-06","2024-08-07","2024-08-08","2024-08-09","2024-08-12","2024-08-13","2024-08-14","2024-08-15","2024-08-16","2024-08-19","2024-08-20","2024-08-21","2024-08-22","2024-08-23","2024-08-26","2024-08-27","2024-08-28","2024-08-29","2024-08-30","2024-09-03","2024-09-04","2024-09-05","2024-09-06","2024-09-09","2024-09-10","2024-09-11","2024-09-12","2024-09-13","2024-09-16","2024-09-17","2024-09-18","2024-09-19","2024-09-20","2024-09-23","2024-09-24","2024-09-25","2024-09-26","2024-09-27","2024-09-30","2024-10-01","2024-10-02","2024-10-03","2024-10-04","2024-10-07","2024-10-08","2024-10-09","2024-10-10","2024-10-11","2024-10-14","2024-10-15","2024-10-16","2024-10-17","2024-10-18","2024-10-21","2024-10-22","2024-10-23","2024-10-24","2024-10-25","2024-10-28","2024-10-29","2024-10-30","2024-10-31","2024-11-01","2024-11-04","2024-11-05","2024-11-06","2024-11-07","2024-11-08","2024-11-11","2024-11-12","2024-11-13","2024-11-14","2024-11-15","2024-11-18","2024-11-19","2024-11-20","2024-11-21","2024-11-22","2024-11-25","2024-11-26","2024-11-27","2024-11-29","2024-12-02","2024-12-03","2024-12-04","2024-12-05","2024-12-06","2024-12-09","2024-12-10","2024-12-11","2024-12-12","2024-12-13","2024-12-16","2024-12-17","2024-12-18","2024-12-19","2024-12-20","2024-12-23","2024-12-24","2024-12-26","2024-12-27","2024-12-30","2024-12-31","2025-01-02","2025-01-03","2025-01-06","2025-01-07","2025-01-08","2025-01-10","2025-01-13","2025-01-14","2025-01-15","2025-01-16","2025-01-17","2025-01-21","2025-01-22","2025-01-23","2025-01-24","2025-01-27","2025-01-28","2025-01-29","2025-01-30","2025-01-31","2025-02-03","2025-02-04","2025-02-05","2025-02-06","2025-02-07","2025-02-10","2025-02-11","2025-02-12","2025-02-13","2025-02-14","2025-02-18","2025-02-19","2025-02-20","2025-02-21","2025-02-24","2025-02-25","2025-02-26","2025-02-27","2025-02-28","2025-03-03","2025-03-04","2025-03-05","2025-03-06","2025-03-07","2025-03-10","2025-03-11","2025-03-12","2025-03-13","2025-03-14","2025-03-17","2025-03-18","2025-03-19","2025-03-20","2025-03-21","2025-03-24","2025-03-25","2025-03-26","2025-03-27","2025-03-28","2025-03-31","2025-04-01","2025-04-02","2025-04-03","2025-04-04","2025-04-07","2025-04-08","2025-04-09","2025-04-10","2025-04-11","2025-04-14","2025-04-15","2025-04-16","2025-04-17","2025-04-21","2025-04-22","2025-04-23","2025-04-24","2025-04-25","2025-04-28","2025-04-29","2025-04-30","2025-05-01","2025-05-02","2025-05-05","2025-05-06","2025-05-07","2025-05-08","2025-05-09","2025-05-12","2025-05-13","2025-05-14","2025-05-15","2025-05-16","2025-05-19","2025-05-20","2025-05-21","2025-05-22","2025-05-23","2025-05-27","2025-05-28","2025-05-29","2025-05-30","2025-06-02","2025-06-03","2025-06-04","2025-06-05","2025-06-06","2025-06-09","2025-06-10","2025-06-11","2025-06-12","2025-06-13","2025-06-16","2025-06-17","2025-06-18","2025-06-20","2025-06-23","2025-06-24","2025-06-25","2025-06-26","2025-06-27","2025-06-30","2025-07-01","2025-07-02","2025-07-03","2025-07-07","2025-07-08","2025-07-09","2025-07-10","2025-07-11","2025-07-14","2025-07-15","2025-07-16","2025-07-17","2025-07-18","2025-07-21","2025-07-22","2025-07-23","2025-07-24","2025-07-25","2025-07-28","2025-07-29","2025-07-30","2025-07-31","2025-08-01","2025-08-04","2025-08-05","2025-08-06","2025-08-07","2025-08-08","2025-08-11","2025-08-12","2025-08-13","2025-08-14","2025-08-15","2025-08-18","2025-08-19","2025-08-20","2025-08-21","2025-08-22","2025-08-25","2025-08-26","2025-08-27","2025-08-28","2025-08-29","2025-09-02","2025-09-03","2025-09-04","2025-09-05","2025-09-08","2025-09-09","2025-09-10","2025-09-11","2025-09-12","2025-09-15","2025-09-16","2025-09-17","2025-09-18","2025-09-19","2025-09-22","2025-09-23","2025-09-24","2025-09-25","2025-09-26","2025-09-29","2025-09-30","2025-10-01","2025-10-02","2025-10-03","2025-10-06","2025-10-07","2025-10-08","2025-10-09","2025-10-10","2025-10-13","2025-10-14","2025-10-15","2025-10-16","2025-10-17","2025-10-20","2025-10-21","2025-10-22","2025-10-23","2025-10-24","2025-10-27","2025-10-28","2025-10-29","2025-10-30","2025-10-31"],"y":[-0.815327,-0.479852,0.262977,0.791858,0.850891,0.523753,0.786302,0.764501,0.900127,0.754324,0.730619,0.58875,0.680746,0.502705,0.164194,-0.797902,-1.33269,-1.15343,-1.43256,-1.17945,-0.636859,-0.842935,-0.384789,-0.652315,-0.718912,-1.14187,-0.688939,-0.898351,-1.20378,-0.698765,-1.06923,-0.75154,-0.865903,-0.776019,-0.854838,-0.845881,-0.466369,-0.365084,-0.0889876,-0.194923,-0.00475762,-0.0435908,-0.24792,-0.063648,-0.11558,0.444539,0.564414,0.893295,0.899913,0.770246,0.895473,0.639387,0.610918,0.73769,0.554272,0.269553,0.445145,0.404233,0.506016,0.603497,0.498937,0.707084,0.580483,0.21456,0.230676,0.380526,0.193095,0.474593,0.826987,0.752544,0.193492,-0.30745,-0.0107347,0.122119,0.859751,0.568252,0.968296,0.699473,0.681733,0.910021,1.09035,0.911175,0.87576,0.845218,0.884408,0.96991,0.817298,1.04957,1.02894,0.805725,0.659363,-0.140896,-0.025489,0.0680912,0.344085,0.23525,0.207051,0.056033,0.147177,0.2148,-0.430057,-0.198656,-0.771785,-0.416092,-0.106517,0.0709291,0.200497,0.601624,0.406203,0.672186,0.538987,0.800723,0.469289,0.802139,0.943099,0.746677,0.732626,0.823007,0.769355,0.790196,0.484132,0.302603,0.455015,0.248786,0.602987,0.446023,0.69441,0.84677,0.896455,0.977984,1.06877,0.948371,0.95336,0.618081,0.927822,0.775148,0.695794,0.70248,0.68113,0.512249,0.541964,0.59384,0.803195,0.85278,1.02029,0.99064,1.04517,0.842808,0.975763,1.1377,0.231437,-0.00267315,-0.683004,-0.236651,-0.660358,-0.622592,-0.307586,-0.19081,-0.292954,-0.506252,-0.731564,-0.872636,-0.595507,-0.915066,-0.763505,-0.436461,-0.106041,-0.173807,0.0286633,0.321979,0.086379,0.713282,0.19323,0.761651,0.911723,0.996004,1.16304,0.886691,0.681232,0.594011,0.526037,0.19923,0.244942,0.165887,0.254952,0.308952,-0.262192,-0.420929,-1.26513,-0.894968,-1.02789,-0.703373,-0.330977,0.148909,0.546096,0.520851,0.771035,0.706297,0.786536,0.56312,0.751018,0.84897,0.680396,0.449307,0.473567,0.345721,0.394161,0.56925,0.509079,0.515411,0.427375,0.675438,0.767519,0.750896,0.938079,0.798424,0.799811,0.445502,0.391445,0.313909,0.103793,0.596557,0.592911,0.747742,0.540979,0.371812,0.258249,0.277145,0.494297,0.969437,0.818555,0.819356,1.00543,0.0618654,0.492111,0.783418,1.29445,1.2415,0.835966,0.756509,0.794376,0.586069,0.258096,0.523362,0.925785,0.847095,0.656491,0.732978,0.618237,-0.343084,-0.0462936,-0.824071,-0.196403,0.334888,0.333904,0.798478,0.857512,0.99751,0.841371,0.729708,0.698956,0.759132,0.659217,0.599083,0.433536,0.354066,0.113391,0.136892,0.420439,-0.330891,-0.51348,0.211954,-0.200955,-0.856264,-1.24819,-0.44862,-0.600206,-0.00783733,0.25408,0.635583,0.649411,0.821551,0.726601,0.783386,0.281423,0.215617,0.443936,0.169982,0.0164564,0.169016,0.652866,0.57935,0.444693,0.532234,0.908701,1.23037,1.09574,0.985606,0.980206,1.01076,0.878411,0.831071,0.667024,0.801283,0.774499,0.607656,0.408765,0.560613,0.322787,0.559468,0.567672,0.524138,0.499099,0.734952,0.446859,0.511671,0.14571,0.117182,0.649684,1.04327,0.280111,-0.434294,-1.56035,-0.761065,0.0953396,-0.0504654,-0.532584,-0.615777,-0.0647818,-0.097869,0.444184,0.316694,0.407642,0.445178,0.510896,0.448759,0.48813,0.279302,0.685833,0.637782,0.599441,0.480939,0.701975,0.745134,0.767883,0.601305,0.267238,0.214594,-0.83455,0.225108,0.631794,0.478322,0.880255,1.00283,0.9811,0.885655,0.82461,1.01667,1.17007,0.919151,0.924937,0.520383,0.842599,0.851961,0.649313,0.628884,0.463987,0.156601,-0.497425,0.0634037,0.407704,0.482529,0.940439,0.941022,0.635919,0.561653,0.7165,0.405329,0.262715,0.639532,0.342584,0.616115,0.633838,0.543757,0.548806,0.603527,0.663159,0.677434,0.848443,0.45871,-0.352807,-0.30678,0.322943,0.906607,0.889548,0.901984,0.456229,0.919025,1.04782,0.83446,0.781979,0.838126,0.731287,0.492023,0.385814,0.12906,-0.302744,-0.168816,-0.436796,-0.016699,-0.176435,-0.898223,-1.51239,-1.2201,-0.71962,-0.210662,-0.139219,-0.228363,-0.905508,-0.74721,-1.00459,-0.564835,-0.88747,-0.503486,-0.324937,0.024536,-0.0193046,-0.269325,-0.332015,-0.14195,0.685616,0.959765,0.931398,1.03834,0.993983,0.944282,0.822181,0.856216,0.773018,0.597254,0.744527,0.706844,0.687384,0.709682,0.768378,0.780324,0.769324,0.727478,0.620295,0.392059,0.36853,0.575497,0.550689,0.645342,0.504148,0.590297,0.477904,0.312033,0.34091,0.481647,-0.993563,-0.261525,-1.39672,-1.48104,-0.717862,-0.926089,-0.430198,0.36628,0.454854,0.180841,0.499459,0.168694,-0.0730756,0.501012,0.177315,-0.192415,-0.536669,0.131871,0.502677,0.707249,1.02478,0.86629,0.801396,0.676174,0.543607,0.688163,0.621256,-0.0634334,-0.0963176,-0.240169,-0.267945,0.0285706,0.0922212,-0.388135,-0.373039,-0.944979,-1.21091,-1.24238,-1.3078,-1.01672,-1.02758,-0.916276,-0.860784,-0.476703,-0.192937,-0.0572071,0.138945,-0.225396,-0.112901,-0.137531,0.0455106,0.381085,0.0593599,-0.366346,-0.416468,0.0607897,0.112815,-0.482434,-0.637816,-0.836344,-1.10447,-0.734176,-0.282367,-0.323134,-0.597773,-0.169207,-0.244235,-0.400464,-0.949155,-0.948834,-0.381,-0.453236,-0.700199,-0.775259,-0.233068,0.360235,0.761758,0.963078,0.8499,0.96345,0.607298,0.814515,0.813346,0.833526,0.900322,0.716003,0.44292,0.441544,0.515448,0.289222,0.0967252,0.142746,0.0448439,-0.454893,-0.709779,-0.432471,-0.831708,-0.750948,-0.248886,-0.253399,-0.676996,-1.17948,-0.891772,-1.21774,-1.01266,-0.520719,-1.01498,-0.810529,-0.676324,-0.150954,-0.689509,-0.711951,-1.05118,-0.880591,-0.93783,-0.84054,-0.50246,-0.501339,-0.207182,-0.72854,-0.761803,-0.681014,-0.364944,-0.441405,-0.266187,0.12145,0.567712,0.468063,0.34055,0.846382,0.492504,0.559257,0.692926,0.415993,-0.117966,-0.721414,-1.1869,-1.03159,-0.731637,-1.01124,-0.873923,-0.563939,-0.535683,-0.406418,-0.0707011,-0.0917551,-0.273945,-0.247165,-0.300859,-0.140091,-0.0773786,0.0170645,0.349378,0.47498,0.304094,0.101553,-0.0595843,-0.150337,0.352113,0.0676016,0.957123,1.02883,1.16523,0.762326,0.740716,0.3726,0.960973,1.07388,1.16614,0.940188,0.718128,0.879569,0.762752,0.655677,0.574393,0.464457,0.743277,0.6993,0.900798,0.905811,0.838908,0.641298,0.626508,0.341237,-0.109628,-0.25955,-0.241629,0.114436,-0.831509,-0.911834,-1.04632,-1.02174,-0.841554,-0.893216,-0.835395,-0.525127,-0.389901,-0.13849,0.0557937,-0.582976,-0.484355,-0.626799,-0.725146,-0.545588,-0.704614,-0.923036,-0.953619,-1.14073,-1.09143,-0.962957,-0.609379,-0.794189,-0.861663,-0.495188,-0.104408,-0.104763,-0.201549,-0.531727,-0.636766,-0.673906,-0.678032,-0.192065,-0.573894,-0.0245587,0.325971,0.181774,-0.0214651,0.634122,0.852196,1.05042,0.781016,0.597055,0.952235,0.713882,0.595461,0.137433,-0.0436571,0.184799,0.323171,0.38851,-0.0943129,0.986053,1.08771,0.801149,0.859632,0.638,0.537919,0.578676,0.450049,0.671526,0.714498,0.636088,0.297981,0.24177,0.74963,0.671924,0.619637,0.204096,-0.183155,-0.287735,-0.229657,-0.531188,0.0646968,0.346876,0.0711722,-0.859515,-1.10126,-1.12263,-0.937357,-0.51238,-0.762036,-0.566804,-0.595158,-0.765611,-0.362637,-0.384851,-0.456249,-0.215812,-0.485293,0.159228,0.17436,0.388595,0.793053,0.973807,1.08005,0.892853,0.387022,0.147692,0.623602,0.846229,0.726511,0.658022,0.82419,0.80611,0.445049,0.733776,0.901426,1.07942,0.784192,0.574843,0.818357,0.490506,0.231284,0.26038,0.520284,0.4596,0.508866,0.0542372,-0.0941438,-0.865667,-0.88593,-0.693053,-0.952345,-0.754617,-0.814222,-0.816833,-0.544447,-0.0717427,-0.0234706,-0.442328,-0.356052,-0.828728,-1.0417,-0.923521,-0.484552,-0.597796,-0.0810529,-0.413655,-0.0426044,0.444478,-0.181305,-0.0526432,0.19637,0.267263,0.175486,0.663251,0.789747,1.12561,1.09116,0.821978,0.682671,0.693535,0.656194,0.615963,0.463406,0.742267,0.608505,0.649111,0.60746,0.543965,0.358469,0.349913,0.352732,-0.335065,-0.723395,0.345259,0.847205,0.691248,-0.0483509,-0.485659,-0.869349,0.218539,0.211817,-0.0670925,0.189078,0.0895848,0.0127973,0.242479,-0.161454,0.61161,1.03184,0.832598,0.761561,0.17178,-0.278711,0.210506,0.87343,0.806249,0.471853,0.846654,1.3206,1.02348,0.944916,0.726737,0.826827,0.785397,0.940385,0.978831,0.900925,1.04761,0.833,0.634065,0.465729,0.501674,0.285395,0.134776,0.416133,0.39393,0.508965,0.901973,0.839134,0.711983,0.360688,0.216456,0.303681,0.622401,0.967992,1.14913,0.949747,0.948397,1.03742,0.947366,0.65376,0.588619,0.664968,0.703983,0.646727,0.379085,0.6733,0.665617,0.507237,-0.0252243,-0.185124,-0.463911,-0.14363,-0.498207,-0.925531,-0.820971,-0.784477,-0.443922,-0.93206,-1.07288,-1.1302,-0.942245,-0.647516,-0.661565,-0.265657,-0.657198,-0.390138,-0.124054,0.554712,0.730732,0.644106,0.675683,0.505254,0.228765,0.0982348,0.16672,0.435435,0.209003,0.241147,0.55822,-0.00911007,-0.030049,-0.173901,-0.713035,-1.27519,-1.21334,-0.935779,-1.17914,-0.981721,-0.731891,-0.710536,-0.651039,-0.869465,-0.62295,-0.569331,-0.258328,-0.0670932,0.101016,0.253843,0.14777,0.0302327,0.500651,0.60158,0.0239584,-0.388422,-0.864578,-0.820365,-0.485148,-0.937463,-1.11405,-1.03917,-0.646855,-0.465595,-0.184826,0.289494,0.500579,0.539499,0.595386,0.607079,0.412108,0.730502,0.678111,0.990065,0.897545,0.8059,0.732253,0.761857,0.648927,0.640664,0.600957,0.541606,0.529618,0.492692,0.560383,0.659329,0.474884,0.429337,0.27326,0.480783,0.658738,0.809667,1.08403,1.41996,1.25026,1.00839,1.03416,1.036,0.543843,0.739714,0.711299,0.741963,0.710216,0.652908,0.520365,0.32455,0.0518126,-0.0945433,-0.119812,0.407559,0.310752,0.599329,0.570691,0.562651,0.263002,-0.174271,0.455535,1.13223,1.07828,1.03552,0.929164,0.996168,0.824811,0.959466,0.812919,0.251543,0.613504,0.8706,0.697102,0.714129,0.880237,0.790854,0.856919,0.75464,0.301592,0.571291,0.77695,0.533774,0.275706,0.276367,1.0354,0.922599,0.701067,0.69162,0.578176,0.712588,1.01006,0.844998,0.383621,0.557859,0.879171,0.558295,0.472547,0.810919,0.700685,0.564088,0.231063,0.453979,0.70267,1.17279,1.11552,0.87975,0.67518,0.533354,0.851079,0.757791,0.604381,0.270433,0.286877,-0.408448,0.148102,0.142028,0.172713,-0.493664,-0.0167604,-0.897402,-1.41748,-1.23176,-1.1886,-1.04412,-1.08932,-0.73215,-0.367315,-0.344,-0.406763,-0.100257,0.0467202,-0.424547,-0.484488,-0.143577,0.327566,0.737693,0.812676,0.778407,0.962264,0.892711,0.786253,0.813358,0.99918,0.828902,0.78992,0.739849,0.715931,0.579709,0.353675,0.478317,0.449662,0.223151,-0.0464551,0.257098,0.261435,0.2843,0.893561,0.842564,0.707388,0.833824,0.917642,1.2179,1.09105,0.950085,1.08458,0.995147,0.783932,0.658446,0.498968,0.565841,0.547896,0.54773,0.385164,0.426073,0.662374,0.826428,0.968109,0.91415,0.883781,1.16061,0.720276,0.889001,0.886155,0.980565,0.377546,0.0521605,-0.231097,0.153842,0.0485951,-0.914627,-1.01141,-0.567929,-0.549898,-0.710749,-0.116043,-0.597173,-1.04152,-1.39006,-0.989372,-0.961696,-0.478282,-0.354301,-0.305861,0.0830271,0.194319,0.610845,0.637422,0.829926,0.758778,0.746972,0.527366,0.677851,0.579577,0.55298,0.426613,0.39654,0.511537,0.102857,0.0142356,-0.122068,-0.647423,-0.408524,-0.37216,-0.020421,0.301655,0.494929,0.512949,0.506282,0.362978,0.951362,0.778305,0.78668,0.789229,0.657769,0.696111,0.592889,0.644716,0.366906,0.3391,0.25302,0.497976,0.152792,0.525728,0.837409,0.7017,0.93311,1.17175,0.708739,0.899904,0.793008,0.871944,0.70059,0.605436,0.135259,0.213683,0.16748,0.292872,0.336593,0.13329,-1.03777,-0.759379,-0.932257,-0.238569,1.07032,1.18266,1.11709,0.984677,0.768895,0.701968,0.460371,0.0671962,0.178156,0.26823,0.248471,0.372341,0.422237,0.475605,0.569277,0.434827,0.587282,0.623886,0.680102,0.987467,0.790956,0.779726,0.494653,0.331683,0.616481,0.359843,0.315408,0.472008,0.235257,-1.26385,-1.16669,-0.619953,-0.355351,0.134709,0.127131,-0.355554,-0.775183,-0.810354,-0.792824,-0.300682,-0.0559966,-0.450258,-0.353269,-0.838038,-0.709229,-0.596533,0.120027,0.0969322,0.595144,0.890103,0.97069,0.999843,0.792307,0.320699,0.59008,0.413874,0.532079,0.323962,0.0738403,0.270651,0.376674,0.445465,0.10986,0.309166,0.314056,0.112865,0.752125,0.767118,0.909587,0.936559,0.580169,-0.583526,-0.789411,-0.994501,-0.84,-1.2992,-0.571896,-1.07306,-1.19092,-0.772556,-1.04114,-0.794675,-1.12051,-1.05187,-0.839099,-0.895682,-0.550963,-0.398668,-0.511678,-0.31005,-0.324264,-0.280628,0.121435,0.222584,-0.0111885,-0.0454155,-0.584148,-0.340825,-0.210948,0.0728922,-1.40289,-1.75922,-1.32671,-1.20134,-0.0787089,-0.546516,-0.322937,-0.191159,-0.200166,-0.40522,-0.352039,-0.551435,-0.24212,-0.026625,0.272722,0.409301,0.42617,0.531433,0.558335,0.690554,0.81246,0.665997,0.503577,0.565876,0.638113,0.558977,0.971858,0.922014,0.820477,0.796086,0.795957,0.78064,0.685258,0.37394,0.341702,0.180836,0.529915,0.373034,0.416893,0.353313,0.44111,0.531143,0.498361,0.336147,0.673505,0.817873,0.966937,0.728797,0.803611,0.272136,0.634341,0.25612,0.232253,0.0938091,0.5015,1.04006,0.923596,1.13459,1.14332,1.13815,0.966525,0.964792,1.03361,0.720614,0.630996,0.719979,0.71103,0.55335,0.546434,0.390443,0.438614,0.570101,0.517134,0.583377,0.588775,0.926899,0.915228,1.03434,0.915827,0.699912,0.5815,0.332842,-0.579777,0.222149,-0.119145,0.323618,0.239435,0.673553,0.493978,1.05314,1.08527,0.933524,0.717781,0.63434,0.310027,0.150562,-0.0699237,0.681458,0.423547,0.574645,0.616057,0.696897,0.410087,-0.0326517,0.245971,0.75615,0.528547,0.660649,0.789609,0.888314,1.20275,0.990766,1.06202,0.857696,0.714669,0.825437,0.947552,0.977457,0.680801,0.501149,0.282269,0.464882,0.52629,0.649702,0.754276,0.734258,0.689888,0.817148,0.588329,0.882684,0.639476,-1.0061,-0.127084,-0.227247,0.0152891,-0.440706,-0.0676437,0.583726,0.528809,0.170693,0.505633,0.908557,1.26434,1.12603,0.967599,0.489511,0.558648],"sx":[77.51,78.17,78.39,78.61,78.83,79.05,79.71,79.93,80.15,80.37,80.59,81.47,81.69,81.91,82.13,82.79,83.01,83.23,83.45,83.66,84.32,84.54,84.76,84.98,85.2,85.86,86.08,86.3,86.52,86.74,87.4,87.62,87.84,88.06,88.28,88.94,89.16,89.38,89.6,89.82,90.48,90.7,90.92,91.14,91.35,92.01,92.23,92.45,92.67,93.55,93.77,93.99,94.21,94.43,95.09,95.31,95.53,95.75,95.97,96.63,96.85,97.07,97.29,97.51,98.17,98.39,98.61,98.83,99.04,99.7,99.92,100.14,100.36,100.58,101.24,101.46,101.68,101.9,102.12,103.0,103.22,103.44,103.66,104.32,104.54,104.76,104.98,105.2,105.86,106.08,106.3,106.52,106.74,107.39,107.61,107.83,108.05,108.27,108.93,109.15,109.37,109.59,109.81,110.47,110.69,110.91,111.13,112.01,112.23,112.45,112.67,112.89,113.55,113.77,113.99,114.21,114.43,115.08,115.3,115.52,115.74,115.96,116.62,116.84,117.06,117.28,117.5,118.16,118.38,118.6,118.82,119.04,119.7,119.92,120.14,120.36,120.58,121.24,121.46,121.68,121.9,122.12,122.77,122.99,123.21,123.43,123.65,124.31,124.53,124.75,124.97,125.19,126.07,126.29,126.51,126.73,127.39,127.61,127.83,128.05,128.27,128.93,129.15,129.37,129.59,129.81,130.46,130.68,130.9,131.12,131.34,132.0,132.22,132.44,132.66,132.88,133.54,133.76,133.98,134.2,134.42,135.08,135.3,135.52,135.74,135.96,136.62,136.84,137.06,137.28,137.5,138.15,138.37,138.59,138.81,139.03,139.69,139.91,140.13,140.35,140.57,141.23,141.45,141.67,141.89,142.11,142.77,142.99,143.21,143.65,144.31,144.53,144.75,144.97,145.19,145.84,146.06,146.28,146.5,146.72,147.38,147.6,147.82,148.04,148.26,148.92,149.14,149.36,149.58,150.46,150.68,150.9,151.12,152.0,152.22,152.44,152.66,152.88,153.53,153.75,153.97,154.19,154.41,155.29,155.51,155.73,155.95,156.61,156.83,157.05,157.27,157.49,158.15,158.37,158.59,158.81,159.03,159.69,159.91,160.13,160.35,160.57,161.44,161.66,161.88,162.1,162.76,162.98,163.2,163.42,163.64,164.3,164.52,164.74,164.96,165.18,165.84,166.06,166.28,166.5,166.72,167.38,167.6,167.82,168.04,168.26,168.92,169.13,169.35,169.57,169.79,170.45,170.67,170.89,171.11,171.99,172.21,172.43,172.65,172.87,173.53,173.75,173.97,174.19,174.41,175.07,175.29,175.51,175.73,175.95,176.61,176.82,177.04,177.26,177.48,178.14,178.36,178.58,178.8,179.02,179.68,179.9,180.12,180.34,180.56,181.22,181.44,181.66,181.88,182.1,182.76,182.98,183.2,183.42,183.64,184.52,184.73,184.95,185.17,185.83,186.05,186.27,186.49,186.71,187.37,187.59,187.81,188.03,188.25,188.91,189.13,189.35,189.57,189.79,190.45,190.67,190.89,191.11,191.33,192.21,192.42,192.64,192.86,193.52,193.74,193.96,194.18,194.4,195.06,195.28,195.5,195.72,195.94,196.6,196.82,197.04,197.26,197.48,198.14,198.36,198.58,198.8,199.02,199.68,199.9,200.12,200.33,200.55,201.21,201.43,201.65,201.87,202.09,202.75,202.97,203.19,203.41,203.63,204.29,204.51,204.73,204.95,205.17,206.05,206.27,206.49,206.71,207.37,207.59,207.81,208.02,208.24,208.9,209.12,209.34,209.56,209.78,210.44,210.66,210.88,211.1,211.32,211.98,212.2,212.42,212.64,212.86,213.52,213.74,213.96,214.18,214.4,215.06,215.28,215.5,215.71,215.93,216.59,216.81,217.03,217.25,217.47,218.13,218.35,218.57,218.79,219.01,219.67,219.89,220.11,220.33,220.55,221.21,221.43,221.65,221.87,222.09,222.75,222.97,223.19,223.62,224.28,224.5,224.72,224.94,225.16,225.82,226.04,226.26,226.48,226.7,227.36,227.58,227.8,228.02,228.24,228.9,229.12,229.34,229.56,230.44,230.66,230.88,231.1,231.31,231.97,232.19,232.41,232.63,232.85,233.51,233.73,233.95,234.17,234.39,235.27,235.49,235.71,235.93,236.59,236.81,237.03,237.25,237.47,238.13,238.35,238.57,238.79,239.0,239.66,239.88,240.1,240.32,240.54,241.2,241.42,241.64,241.86,242.08,242.96,243.18,243.4,243.62,244.28,244.5,244.72,244.94,245.16,245.82,246.04,246.26,246.48,246.7,247.35,247.57,247.79,248.01,248.23,248.89,249.11,249.33,249.55,249.77,250.43,250.65,250.87,251.09,251.31,251.97,252.19,252.41,252.63,252.85,253.51,253.73,253.95,254.17,255.04,255.26,255.48,255.7,255.92,256.58,256.8,257.02,257.24,257.46,258.12,258.34,258.56,258.78,259.0,259.66,259.88,260.1,260.32,260.54,261.2,261.42,261.64,261.86,262.08,262.73,262.95,263.17,263.39,263.61,264.49,264.71,264.93,265.15,265.81,266.03,266.25,266.47,266.69,267.35,267.57,267.79,268.01,268.23,269.11,269.33,269.55,269.77,270.42,270.64,270.86,271.08,271.3,272.18,272.4,272.62,272.84,273.5,273.72,273.94,274.16,274.38,275.04,275.26,275.48,275.7,275.92,276.58,276.8,277.02,277.24,277.46,278.11,278.33,278.55,278.77,278.99,279.65,279.87,280.09,280.31,280.53,281.19,281.41,281.63,281.85,282.07,282.73,282.95,283.17,283.39,283.61,284.27,284.49,284.71,284.93,285.15,286.02,286.24,286.46,286.68,287.34,287.56,287.78,288.0,288.22,288.88,289.1,289.32,289.54,289.76,290.42,290.64,290.86,291.08,291.3,291.96,292.18,292.4,292.62,292.84,293.49,293.71,293.93,294.15,294.37,295.03,295.25,295.47,295.69,295.91,296.57,296.79,297.01,297.23,297.45,298.11,298.33,298.55,298.77,298.99,299.65,299.87,300.09,300.31,300.53,301.19,301.4,301.62,301.84,302.06,302.72,302.94,303.16,303.6,304.26,304.48,304.7,304.92,305.14,305.8,306.02,306.24,306.46,306.68,307.34,307.56,307.78,308.0,308.22,308.88,309.09,309.31,309.53,309.75,310.63,310.85,311.07,311.29,312.17,312.39,312.61,312.83,313.49,313.71,313.93,314.15,314.37,315.25,315.47,315.69,315.91,316.57,316.78,317.0,317.22,317.44,318.1,318.32,318.54,318.76,318.98,319.64,319.86,320.08,320.3,320.52,321.18,321.4,321.62,321.84,322.06,322.94,323.16,323.38,323.6,324.26,324.48,324.69,324.91,325.13,325.79,326.01,326.23,326.45,326.67,327.33,327.55,327.77,327.99,328.21,328.87,329.09,329.31,329.53,329.75,330.41,330.63,330.85,331.07,331.29,331.95,332.17,332.38,332.6,333.48,333.7,333.92,334.14,334.36,335.02,335.24,335.46,335.68,335.9,336.56,336.78,337.0,337.22,337.44,338.1,338.32,338.54,338.76,338.98,339.64,339.86,340.08,340.29,340.51,341.17,341.39,341.61,341.83,342.05,342.71,342.93,343.15,343.37,343.59,344.47,344.69,344.91,345.13,345.79,346.01,346.23,346.45,346.67,347.33,347.55,347.77,347.98,348.2,349.08,349.3,349.52,349.74,350.4,350.62,350.84,351.06,351.28,351.94,352.38,352.6,352.82,353.48,353.7,353.92,354.14,354.36,355.02,355.24,355.46,355.67,355.89,356.55,356.77,356.99,357.21,357.43,358.09,358.31,358.53,358.75,358.97,359.63,359.85,360.07,360.29,360.51,361.17,361.39,361.61,361.83,362.05,362.71,362.93,363.15,363.37,363.58,364.24,364.46,364.68,364.9,365.12,366.0,366.22,366.44,366.66,367.32,367.54,367.76,367.98,368.2,368.86,369.08,369.3,369.52,369.74,370.4,370.62,370.84,371.06,371.27,371.93,372.15,372.37,372.59,372.81,373.47,373.69,373.91,374.13,374.35,375.01,375.23,375.45,375.67,375.89,376.55,376.77,376.99,377.21,377.43,378.09,378.31,378.53,378.75,378.96,379.62,379.84,380.06,380.28,380.5,381.16,381.38,381.6,381.82,382.04,382.7,382.92,383.14,383.58,384.24,384.46,384.68,384.9,385.12,385.78,386.0,386.22,386.44,386.66,387.31,387.53,387.75,387.97,388.19,388.85,389.07,389.29,389.51,389.73,390.61,390.83,391.05,391.27,392.15,392.37,392.59,392.81,393.47,393.69,393.91,394.13,394.35,395.22,395.44,395.66,395.88,396.54,396.76,396.98,397.2,397.42,398.08,398.3,398.52,398.74,398.96,399.62,399.84,400.06,400.28,400.5,401.16,401.38,401.6,401.82,402.04,402.91,403.13,403.35,403.57,404.23,404.45,404.67,404.89,405.11,405.77,405.99,406.21,406.43,406.65,407.31,407.53,407.75,407.97,408.19,408.85,409.07,409.29,409.51,409.73,410.38,410.6,410.82,411.04,411.92,412.14,412.36,412.58,412.8,413.46,413.68,413.9,414.12,414.34,415.0,415.22,415.44,415.66,415.88,416.54,416.76,416.98,417.2,417.42,418.07,418.29,418.51,418.73,418.95,419.61,419.83,420.05,420.27,420.49,421.15,421.37,421.59,421.81,422.03,422.69,422.91,423.13,423.35,423.57,424.45,424.67,424.89,425.11,425.76,425.98,426.2,426.42,426.64,427.3,427.52,427.74,427.96,428.18,428.84,429.06,429.5,429.72,430.38,430.6,430.82,431.04,431.26,431.92,432.14,432.36,432.8,433.45,433.67,433.89,434.11,434.33,434.99,435.21,435.43,435.65,435.87,436.53,436.75,436.97,437.19,437.41,438.07,438.29,438.51,438.73,438.95,439.61,439.83,440.05,440.27,440.49,441.15,441.36,441.58,441.8,442.02,442.68,442.9,443.12,443.34,443.56,444.22,444.44,444.66,444.88,445.1,445.98,446.2,446.42,446.64,447.3,447.52,447.74,447.96,448.18,448.84,449.05,449.27,449.49,449.71,450.37,450.59,450.81,451.03,451.25,451.91,452.13,452.35,452.57,452.79,453.45,453.67,453.89,454.11,454.33,454.99,455.21,455.43,455.65,455.87,456.53,456.74,456.96,457.18,457.4,458.06,458.28,458.5,458.72,458.94,459.6,459.82,460.04,460.26,460.48,461.14,461.36,461.58,461.8,462.02,462.68,462.9,463.12,463.34,463.56,464.22,464.44,464.65,465.09,465.75,465.97,466.19,466.41,466.63,467.29,467.51,467.73,467.95,468.17,468.83,469.05,469.27,469.49,469.71,470.37,470.59,471.03,471.25,471.91,472.13,472.56,472.78,473.44,473.66,473.88,474.32,474.98,475.2,475.42,475.64,475.86,476.74,476.96,477.18,477.4,478.06,478.28,478.5,478.72,478.94,479.6,479.82,480.04,480.25,480.47,481.13,481.35,481.57,481.79,482.01,482.89,483.11,483.33,483.55,484.21,484.43,484.65,484.87,485.09,485.75,485.97,486.19,486.41,486.63,487.29,487.51,487.73,487.94,488.16,488.82,489.04,489.26,489.48,489.7,490.36,490.58,490.8,491.02,491.24,491.9,492.12,492.34,492.56,492.78,493.44,493.66,493.88,494.1,494.32,494.98,495.2,495.42,495.63,496.51,496.73,496.95,497.17,497.39,498.05,498.27,498.49,498.71,498.93,499.59,499.81,500.03,500.25,500.47,501.13,501.35,501.57,501.79,502.01,502.67,502.89,503.11,503.33,503.54,504.42,504.64,504.86,505.08,505.74,505.96,506.18,506.4,506.62,507.28,507.5,507.72,507.94,508.16,508.82,509.04,509.26,509.7,510.36,510.58,510.8,511.02,511.23,511.89,512.11,512.33,512.55,513.43,513.65,513.87,514.09,514.31,514.97,515.19,515.41,515.63,515.85,516.51,516.73,516.95,517.17,517.39,518.05,518.27,518.49,518.71,518.92,519.58,519.8,520.02,520.24,520.46,521.12,521.34,521.56,521.78,522.0,522.66,522.88,523.1,523.32,523.54,524.2,524.42,524.64,524.86,525.08,525.96,526.18,526.4,526.62,527.27,527.49,527.71,527.93,528.15,528.81,529.03,529.25,529.47,529.69,530.35,530.57,530.79,531.01,531.23,531.89,532.11,532.33,532.55,532.77,533.43,533.65,533.87,534.09,534.31,534.96,535.18,535.4,535.62,535.84,536.5,536.72,536.94,537.16,537.38,538.04,538.26,538.48,538.7,538.92],"sy":[156.39,138.56,99.09,70.98,67.84,85.23,71.28,72.44,65.23,72.98,74.24,81.77,76.89,86.35,104.34,155.46,183.88,174.35,189.19,175.74,146.9,157.85,133.51,147.73,151.26,173.74,149.67,160.8,177.03,150.19,169.88,153.0,159.08,154.3,158.49,158.01,137.84,132.46,117.79,123.42,113.31,115.38,126.24,116.44,119.2,89.44,83.07,65.59,65.24,72.13,65.48,79.08,80.6,73.86,83.61,98.74,89.41,91.58,86.17,80.99,86.55,75.49,82.21,101.66,100.8,92.84,102.8,87.84,69.12,73.07,102.78,129.4,113.63,106.57,67.37,82.86,61.61,75.89,76.83,64.7,55.12,64.64,66.52,68.15,66.06,61.52,69.63,57.29,58.38,70.24,78.02,120.55,114.42,109.44,94.78,100.56,102.06,110.08,105.24,101.65,135.91,123.62,154.07,135.17,118.72,109.29,102.41,81.09,91.48,77.34,84.42,70.51,88.12,70.44,62.94,73.38,74.13,69.33,72.18,71.07,87.33,96.98,88.88,99.84,81.02,89.36,76.16,68.06,65.42,61.09,56.27,62.66,62.4,80.22,63.76,71.87,76.09,75.73,76.87,85.84,84.26,81.5,70.38,67.74,58.84,60.42,57.52,68.27,61.21,52.6,100.76,113.2,149.36,125.64,148.15,146.15,129.41,123.2,128.63,139.96,151.94,159.43,144.71,161.69,153.63,136.25,118.7,122.3,111.54,95.95,108.47,75.16,102.79,72.59,64.61,60.13,51.26,65.94,76.86,81.5,85.11,102.47,100.04,104.25,99.51,96.64,126.99,135.43,180.29,160.62,167.68,150.44,130.65,105.15,84.04,85.38,72.09,75.53,71.26,83.14,73.15,67.95,76.9,89.18,87.9,94.69,92.12,82.81,86.01,85.67,90.35,77.17,72.28,73.16,63.21,70.63,70.56,89.39,92.26,96.38,107.55,81.36,81.55,73.33,84.31,93.3,99.34,98.33,86.79,61.55,69.56,69.52,59.63,109.77,86.91,71.43,44.27,47.09,68.64,72.86,70.85,81.92,99.35,85.25,63.86,68.05,78.18,74.11,80.21,131.29,115.52,156.85,123.5,95.27,95.32,70.63,67.49,60.05,68.35,74.28,75.92,72.72,78.03,81.23,90.02,94.25,107.04,105.79,90.72,130.64,140.35,101.8,123.74,158.56,179.39,136.9,144.96,113.48,99.56,79.29,78.55,69.4,74.45,71.43,98.11,101.6,89.47,104.03,112.19,104.08,78.37,82.27,89.43,84.78,64.77,47.68,54.83,60.69,60.97,59.35,66.38,68.9,77.62,70.48,71.9,80.77,91.34,83.27,95.91,83.33,82.9,85.21,86.54,74.01,89.32,85.87,105.32,106.83,78.54,57.62,98.18,136.14,195.98,153.5,107.99,115.74,141.36,145.78,116.5,118.26,89.46,96.23,91.4,89.4,85.91,89.21,87.12,98.22,76.62,79.17,81.21,87.5,75.76,73.46,72.26,81.11,98.86,101.66,157.41,101.1,79.49,87.64,66.28,59.77,60.93,66.0,69.24,59.04,50.88,64.22,63.91,85.41,68.29,67.79,78.56,79.64,88.4,104.74,139.49,109.69,91.4,87.42,63.09,63.06,79.27,83.21,74.99,91.52,99.1,79.08,94.86,80.32,79.38,84.17,83.9,80.99,77.82,77.06,67.97,88.69,131.81,129.36,95.9,64.88,65.79,65.13,88.82,64.22,57.38,68.72,71.51,68.52,74.2,86.92,92.56,106.2,129.15,122.03,136.27,113.95,122.44,160.79,193.43,177.9,151.3,124.26,120.46,125.2,161.18,152.77,166.45,143.08,160.22,139.82,130.33,111.76,114.09,127.37,130.7,120.6,76.63,62.06,63.57,57.88,60.24,62.88,69.37,67.56,71.98,81.32,73.5,75.5,76.53,75.35,72.23,71.59,72.18,74.4,80.1,92.23,93.48,82.48,83.8,78.77,86.27,81.69,87.67,96.48,94.95,87.47,165.86,126.96,187.28,191.76,151.21,162.27,135.92,93.6,88.89,103.45,86.52,104.1,116.94,86.44,103.64,123.29,141.58,106.05,86.35,75.48,58.6,67.03,70.47,77.13,84.17,76.49,80.05,116.43,118.18,125.82,127.3,111.54,108.16,133.69,132.88,163.28,177.41,179.08,182.56,167.09,167.67,161.75,158.8,138.39,123.31,116.1,105.68,125.04,119.06,120.37,110.64,92.81,109.91,132.53,135.19,109.83,107.07,138.7,146.95,157.5,171.75,152.08,128.07,130.23,144.83,122.05,126.04,134.34,163.5,163.48,133.31,137.15,150.27,154.26,125.45,93.92,72.58,61.88,67.9,61.86,80.79,69.78,69.84,68.77,65.22,75.01,89.52,89.6,85.67,97.69,107.92,105.48,110.68,137.23,150.78,136.04,157.26,152.97,126.29,126.53,149.04,175.74,160.45,177.77,166.87,140.73,167.0,156.13,149.0,121.08,149.7,150.89,168.92,159.86,162.9,157.73,139.76,139.7,124.07,151.78,153.54,149.25,132.45,136.52,127.21,106.61,82.89,88.19,94.96,68.08,86.89,83.34,76.24,90.96,119.33,151.4,176.13,167.88,151.94,166.8,159.5,143.03,141.53,134.66,116.82,117.94,127.62,126.2,129.05,120.51,117.17,112.15,94.5,87.82,96.9,107.66,116.23,121.05,94.35,109.47,62.2,58.39,51.14,72.55,73.7,93.26,61.99,56.0,51.09,63.1,74.9,66.32,72.53,78.22,82.54,88.38,73.56,75.9,65.19,64.93,68.48,78.98,79.77,94.93,118.89,126.85,125.9,106.98,157.25,161.52,168.66,167.36,157.78,160.53,157.45,140.97,133.78,120.42,110.1,144.04,138.8,146.37,151.6,142.05,150.5,162.11,163.74,173.68,171.06,164.23,145.44,155.26,158.85,139.38,118.61,118.63,123.77,141.32,146.9,148.87,149.09,123.27,143.56,114.37,95.74,103.4,114.2,79.36,67.78,57.24,71.56,81.33,62.46,75.13,81.42,105.76,115.38,103.24,95.89,92.42,118.07,60.66,55.26,70.49,67.38,79.16,84.48,82.31,89.15,77.38,75.09,79.26,97.23,100.21,73.23,77.36,80.13,102.22,122.79,128.35,125.27,141.29,109.62,94.63,109.28,158.74,171.58,172.72,162.87,140.29,153.56,143.18,144.69,153.75,132.33,133.51,137.31,124.53,138.85,104.6,103.8,92.41,70.92,61.31,55.67,65.61,92.49,105.21,79.92,68.09,74.45,78.09,69.26,70.22,89.41,74.07,65.16,55.7,71.39,82.51,69.57,87.0,100.77,99.22,85.41,88.64,86.02,110.18,118.06,159.06,160.14,149.89,163.67,153.16,156.33,156.47,141.99,116.87,114.31,136.57,131.98,157.1,168.42,162.14,138.81,144.83,117.37,135.04,115.33,89.44,122.7,115.86,102.63,98.86,103.74,77.82,71.09,53.25,55.08,69.38,76.78,76.21,78.19,80.33,88.44,73.62,80.73,78.57,80.78,84.15,94.01,94.47,94.32,130.87,151.5,94.71,68.04,76.33,115.63,138.87,159.26,101.45,101.81,116.63,103.01,108.3,112.38,100.18,121.64,80.56,58.23,68.82,72.59,103.93,127.87,101.87,66.65,70.22,87.99,68.07,42.88,58.67,62.85,74.44,69.12,71.33,63.09,61.05,65.19,57.39,68.8,79.37,88.31,86.4,97.9,105.9,90.95,92.13,86.01,65.13,68.47,75.23,93.89,101.56,96.92,79.99,61.62,52.0,62.59,62.66,57.93,62.72,78.32,81.78,77.72,75.65,78.69,92.92,77.28,77.69,86.11,114.4,122.9,137.71,120.69,139.54,162.24,156.69,154.75,136.65,162.59,170.07,173.12,163.13,147.47,148.22,127.18,147.98,133.79,119.65,83.58,74.23,78.83,77.16,86.21,100.9,107.84,104.2,89.92,101.95,100.25,83.4,113.55,114.66,122.3,150.95,180.82,177.54,162.79,175.72,165.23,151.95,150.82,147.66,159.26,146.16,143.32,126.79,116.63,107.69,99.57,105.21,111.45,86.46,81.09,111.79,133.7,159.0,156.66,138.84,162.88,172.26,168.28,147.44,137.8,122.88,97.68,86.46,84.39,81.42,80.8,91.16,74.24,77.03,60.45,65.37,70.24,74.15,72.58,78.58,79.02,81.13,84.28,84.92,86.88,83.28,78.02,87.83,90.25,98.54,87.51,78.06,70.04,55.46,37.6,46.62,59.48,58.11,58.01,84.16,73.75,75.26,73.63,75.32,78.37,85.41,95.81,110.31,118.09,119.43,91.4,96.55,81.21,82.73,83.16,99.09,122.32,88.85,52.89,55.76,58.03,63.69,60.12,69.23,62.08,69.86,99.69,80.46,66.8,76.02,75.11,66.29,71.04,67.52,72.96,97.03,82.7,71.77,84.7,98.41,98.38,58.04,64.03,75.81,76.31,82.34,75.19,59.39,68.16,92.68,83.42,66.34,83.39,87.95,69.97,75.83,83.09,100.78,88.94,75.72,50.74,53.78,66.31,77.18,84.72,67.83,72.79,80.94,98.69,97.82,134.77,105.19,105.51,103.88,139.29,113.95,160.75,188.39,178.52,176.22,168.55,170.95,151.97,132.58,131.34,134.68,118.39,110.58,135.62,138.81,120.69,95.65,73.86,69.88,71.7,61.93,65.62,71.28,69.84,59.96,69.01,71.08,73.75,75.02,82.26,94.27,87.64,89.17,101.2,115.53,99.4,99.17,97.95,65.58,68.29,75.47,68.75,64.3,48.34,55.08,62.57,55.43,60.18,71.4,78.07,86.55,82.99,83.95,83.95,92.59,90.42,77.86,69.14,61.62,64.48,66.1,51.39,74.79,65.82,65.97,60.95,93.0,110.29,125.34,104.89,110.48,161.66,166.81,143.24,142.28,150.83,119.23,144.8,168.41,186.93,165.64,164.17,138.48,131.89,129.31,108.65,102.74,80.6,79.19,68.96,72.74,73.37,85.04,77.04,82.26,83.68,90.39,91.99,85.88,107.6,112.3,119.55,147.47,134.77,132.84,114.15,97.03,86.76,85.8,86.16,93.77,62.51,71.7,71.26,71.12,78.11,76.07,81.56,78.8,93.56,95.04,99.62,86.6,104.94,85.12,68.56,75.77,63.48,50.79,75.4,65.24,70.92,66.73,75.83,80.89,105.87,101.71,104.16,97.5,95.17,105.98,168.21,153.41,162.6,125.74,56.18,50.21,53.7,60.74,72.2,75.76,88.6,109.49,103.59,98.81,99.86,93.27,90.62,87.79,82.81,89.95,81.85,79.91,76.92,60.59,71.03,71.63,86.78,95.44,80.3,93.94,96.3,87.98,100.56,180.22,175.06,146.01,131.94,105.9,106.31,131.96,154.25,156.12,155.19,129.04,116.04,136.99,131.83,157.59,150.75,144.76,106.68,107.91,81.44,65.76,61.48,59.93,70.96,96.02,81.7,91.07,84.79,95.85,109.14,98.68,93.04,89.39,107.22,96.63,96.37,107.06,73.09,72.3,64.73,63.29,82.23,144.07,155.01,165.91,157.7,182.1,143.45,170.08,176.35,154.11,168.39,155.29,172.61,168.96,157.65,160.66,142.34,134.25,140.25,129.54,130.29,127.97,106.61,101.23,113.66,115.47,144.1,131.17,124.27,109.19,187.61,206.55,183.56,176.9,117.24,142.1,130.22,123.22,123.7,134.59,131.77,142.36,125.93,114.48,98.57,91.31,90.41,84.82,83.39,76.37,69.89,77.67,86.3,82.99,79.15,83.36,61.42,64.07,69.46,70.76,70.76,71.58,76.65,93.19,94.9,103.45,84.9,93.24,90.91,94.29,89.62,84.84,86.58,95.2,77.27,69.6,61.68,74.33,70.36,98.6,79.35,99.45,100.72,108.08,86.41,57.79,63.98,52.77,52.31,52.58,61.7,61.79,58.14,74.77,79.53,74.8,75.28,83.66,84.02,92.31,89.75,82.77,85.58,82.06,81.77,63.81,64.43,58.1,64.39,75.87,82.16,95.37,143.87,101.26,119.39,95.86,100.34,77.27,86.81,57.1,55.39,63.45,74.92,79.35,96.59,105.06,116.78,76.85,90.55,82.52,80.32,76.03,91.27,114.8,99.99,72.88,84.97,77.95,71.1,65.86,49.15,60.41,56.63,67.48,75.08,69.2,62.71,61.12,76.88,86.43,98.06,88.36,85.09,78.54,72.98,74.04,76.4,69.64,81.8,66.16,79.08,166.53,119.81,125.14,112.25,136.48,116.66,82.04,84.96,103.99,86.19,64.78,45.87,53.22,61.64,87.05,83.37]},{"panel":0,"label":"quartile thresholds, the bin edges","color":"var(--chart-blue, #3b6ea5)","kind":"line","x":["1970-01-01","1970-01-02"],"y":[-0.201252,-0.201252],"sx":[-3941.56,-3941.34],"sy":[123.76,123.76]},{"panel":0,"label":"2022-12-30, bin 0","color":"var(--chart-maroon, #b6262c)","kind":"line","x":["2022-12-30"],"y":[-0.384851],"sx":[311.29],"sy":[133.51]},{"panel":1,"label":"states the bins create","color":"var(--chart-grey, #a3a19c)","kind":"line","x":[2.0,3.0,4.0,5.0,10.0],"y":[8.0,27.0,64.0,125.0,1000.0],"sx":[77.51,135.19,192.86,250.54,538.92],"sy":[540.83,498.27,468.07,444.65,371.89]},{"panel":1,"label":"states at least one day lands in","color":"var(--chart-blue, #3b6ea5)","kind":"line","x":[2.0,3.0,4.0,5.0,10.0],"y":[8.0,26.0,56.0,99.0,506.0],"sx":[77.51,135.19,192.86,250.54,538.92],"sy":[540.83,499.59,472.74,452.81,395.72]},{"panel":1,"label":"states with ten days or more","color":"var(--chart-maroon, #b6262c)","kind":"line","x":[2.0,3.0,4.0,5.0,10.0],"y":[8.0,21.0,43.0,54.0,10.0],"sx":[77.51,135.19,192.86,250.54,538.92],"sy":[540.83,507.06,481.99,474.02,533.02]}]} 2026-11-08T05:20:37.060106 image/svg+xml Matplotlib v3.11.2, https://matplotlib.org/ 2020 2021 2022 2023 2024 2025 2026 Trading day (2020 to 2025) −1.5 −1.0 −0.5 0.0 0.5 1.0 1.5 Bollinger position (bands at -1 and +1) 1. One indicator cut into four bins at its quartiles SPY's Bollinger position quartile thresholds, the bin edges 2022-12-30, bin 0 2 3 4 5 10 Bins per indicator (three indicators) 1 0 1 1 0 2 1 0 3 Number of states (log scale) 2. More bins create states faster than the days can fill them states the bins create states at least one day lands in states with ten days or more
Figure 1. One indicator cut into bins, and states created against states visited

Adding an indicator multiplies the count by bb, because dd is the exponent. Seven features at ten bins each would make 10,000,000 states for 1,447 days. That is the point at which a table stops being the right tool, and Sutton and Barto’s Part II replaces it with a function that generalises from visited states to similar unvisited ones. Inside a table, the levers are fewer indicators, fewer bins, and a count like Table 2 before any learning starts.

Holdings belong in the state

The same evening means a different thing to two different agents. An agent in cash that wants to be long has to buy, and buying costs money. An agent already long gets the same exposure by doing nothing. Ritter’s paper says the state “will include the agent’s current position, which is clearly an observable that is an important determinant of the next action” (section 3.1), and his worked example sets the state to the price and the position coming into the period, so the state space is every price paired with every position (section 4).

Day 1 of the January 2023 episode shows it in four numbers. SPY returned −0.42%\good{-0.42\%} that day. Charge a cost of 0.10%\bad{0.10\%} of the trade whenever the holding changes; that is a round number for the example, and What a trade really costs breaks a real cost into spread, commission and impact. Table 3 gives the day’s reward for each holding and action:

Table 3. Day 1’s reward by holding coming in and action taken, % of the account
Holding coming inGo longGo cash
cash−0.52 (buys, pays the cost)0.00 (does nothing)
already long−0.42 (does nothing)−0.10 (sells, pays the cost)

“Go long” earns −0.52\key{-0.52} from cash and −0.42\key{-0.42} from long. “Go cash” earns 0.00\key{0.00} from cash and −0.10\key{-0.10} from long. If the state is only the indicator label “002”, both agents update the same two cells, and each cell ends up a blend of two different situations. With costs the blend matters: a cell that cannot tell “buy” from “hold” cannot learn that buying is the expensive one. Adding the holding as one more digit fixes it. With cash as 0 and long as 1, the label becomes 16 b1+4 b2+b3+64×holding16\,b_1 + 4\,b_2 + b_3 + 64 \times \text{holding}, so “002” is row 2 in cash and row 66 when long, and the state count doubles from 64 to 128. Unlike an indicator, the holding needs no bins: it already has exactly two values.

Four rewards for the same ten days

The reward is the second thing the designer chooses, and Sutton and Barto put the rule plainly in section 3.2: “The agent always learns to maximize its reward. If we want it to do something for us, we must provide rewards to it in such a way that in maximizing them the agent will also achieve our goals.” Ritter’s reward starts from the change in portfolio value over one period, net of costs (his equation 6, before the risk term he adds in section 3.5):

R, the reward: the change in portfolio value over the periodr, the asset's return over the periodc, the trading cost paid

Rt=ht−1⋅rt−ct\key{R_t} = h_{t-1} \cdot \good{r_t} - \bad{c_t}

where ht−1h_{t-1} is the holding in dollars over the period. In percent of the account, with the holding 1 when long and 0 in cash, that is the day’s return if long, zero if in cash, minus 0.10%\bad{0.10\%} on a day the holding changes.

To compare rewards, the actions have to be fixed, so take a simple rule built from the Dyna post’s state: long after a down day, cash after an up day, starting in cash. On the ten days it buys before day 1, sells before day 3, buys before day 4 and so on, six trades in all. Table 4 scores each day four ways: SPY’s price change whatever the agent holds; the account value change without costs; the realised gain, zero until a position is sold and then the whole gain of that position, booked on the step that sells; and the gain after costs, Ritter’s Rt\key{R_t}.

Table 4. The January 2023 episode scored four ways, % of the account
DayHoldingTradePrice changeAccount value changeRealised gainGain after costs
1longbuy−0.42−0.420.00−0.52
2long+0.77+0.770.00+0.77
3cashsell−1.140.00+0.35−0.10
4longbuy+2.29+2.290.00+2.19
5cashsell−0.060.00+2.29−0.10
6longbuy+0.70+0.700.00+0.60
7cashsell+1.260.00+0.70−0.10
8cash+0.360.000.000.00
9cash+0.390.000.000.00
10cash−0.180.000.000.00
Total6 trades+3.98+3.35+3.34+2.75

Same ten days, same six trades, four totals, and each reward teaches a different habit.

Price change totals +3.98\key{+3.98}, the episode’s return from the MDPs post, but it is the same number whichever action the agent takes. On day 3 the agent sat in cash and was still scored −1.14. A reward that does not depend on the action carries no information about which action is better, so a learner trained on it learns nothing about trading. It would be scoring the market, not itself.

Account value change totals +3.35\key{+3.35}, the four long days added up. It depends on the action and arrives every day, so the learner hears about a bad day the evening it happens. It ignores costs, so a rule that trades every day and one that trades twice a year look the same when their days add up the same.

Realised gain totals +3.34\key{+3.34}, nearly the same (the gap is compounding inside the two-day position), but it is zero on seven of the ten days. Ritter’s accounting calls a gain “unrealized until we trade again and move the profit into the cash term, at which point it is realized” (section 2.1), and a reward built on that line only speaks when the agent sells. The habit it teaches is about losses. Selling a losing position books the loss as a reward now; holding it books nothing now, and with the discount factor from the MDPs post a loss booked later counts for less. A loss of 1.14%\bad{1.14\%} booked today counts in full; booked ten steps later at γ=0.9\gamma = 0.9, it counts as −0.40\key{-0.40}. The learner is paid to hold losers.

Gain after costs totals +2.75\key{+2.75}: the account value change minus six trades at 0.10%\bad{0.10\%}. It is the only one of the four that tells the learner what the account actually did, and the only one in which trading less is worth something. Ritter goes one step further and subtracts a risk term from it, so the reward becomes the change in value minus a penalty on its square (equations 13 and 15); with that penalty set to zero his agent is “risk-neutral”, and he reports that maximising profit alone gave a much lower out-of-sample Sharpe ratio, return per unit of risk, than maximising the risk-adjusted version (section 4). The reward is where the designer’s attitude to risk enters, or fails to.

A bonus teaches the learner to collect the bonus

When a learner is slow, the tempting fix is to add a little extra reward for behaviour the designer believes leads to the goal. Sutton and Barto’s chess example in section 3.2 is the warning: a chess agent “should be rewarded only for actually winning, not for achieving subgoals such as taking its opponent’s pieces”, because it “might find a way to take the opponent’s pieces even at the cost of losing the game”. They close the section with the line the whole post rests on: “The reward signal is your way of communicating to the robot what you want it to achieve, not how you want it achieved.”

A trading version. A designer worries that the learner sits in cash and never tries anything, so they add a bonus of 0.15%0.15\% to the reward for every trade, meant to encourage it to explore. Each trade costs 0.10%\bad{0.10\%}, so in the reward each trade is now worth 0.15−0.10=+0.050.15 - 0.10 = \key{+0.05}, whatever the market does. On the ten days of Table 4 the six trades lift the shaped total from +2.75\key{+2.75} to +3.65\key{+3.65}, higher than the +3.35\key{+3.35} the account would have made with no costs at all. A learner that flips its position every day trades ten times, loses 1.00%\bad{1.00\%} of the account to costs, and collects 1.50%1.50\% of bonus for it. The learner has not misbehaved. It found the reward it was given, and the reward says trading is good.

Sutton and Barto’s later chapter on designing reward signals says the same thing in general terms: adding “well-intentioned supplemental rewards may lead the agent to behave very differently from what is intended”, and agents “can discover unexpected ways to make their environments deliver reward” (section 17.4). Their suggested fix is to leave the reward alone and put the designer’s guess into the starting values instead: it changes where learning starts, not what the reward asks for, though the book adds that it is not guaranteed to speed learning up.

The learner optimises the reward, not the intention behind it. If a number goes into the reward, expect the learner to chase that number, including the parts that were only meant to help.

Notation in other books

Sutton and Barto call a group of states that share one value an aggregate, and treat binning as the simplest function approximator (section 9.3). Mitchell’s “partially observable states” (section 13.1) is the situation the too-few-bins case creates on purpose: the label shows only part of what matters. Ritter writes holdings in shares as ntn_t and in dollars as ht=ntpth_t = n_t p_t, and the state as st=(pt,nt−1)s_t = (p_t, n_{t-1}), the price now and the position coming in. Sutton and Barto’s word for a reward that is zero most of the time is sparse (section 17.4), and Ritter’s phrase for valuing an open position at today’s price is marking to market (section 2.1), so the account-value reward is often called a mark-to-market reward.

Traps

Table 5 lists the usual misreadings.

Table 5. Traps in choosing states and rewards
People thinkActually
More bins describe the market better, so the learner does betterat ten bins 1,305 of 1,447 days sit in states seen fewer than ten times; the rows are noise
Adding a fourth indicator adds a few statesit multiplies them by the number of bins: 64 becomes 256 at four bins
Quantile bins mean every state gets a quarter of the dayseach indicator’s bins do; their combinations do not, 8 of the 64 labels were never visited
The indicator label is the statewithout the holding, “buy” and “hold” share a cell, and with costs they are worth different amounts
A state the data never visits learned that it is neutralit holds its starting value; nothing was learned there
Today’s price change is a fine rewardit is the same for every action, so it says nothing about which action is better
Realised gain and account value change add up to the same, so they teach the samethe totals match; realised gain is silent on seven days of ten and pays the learner to hold losers
A small bonus to speed learning up is harmlessa 0.15% bonus per trade turns a 0.10% cost into a 0.05% profit per trade

The code

The snippet reproduces the bins of 2022-12-30 in Table 1, the four-bin row of Table 2 and Table 3. Its variables are in Table 6:

Table 6. Variables in the snippet
VariableHolds
fthe three indicators for SPY, one row per trading day
qthe 25%, 50% and 75% thresholds of each indicator
binsthe bin, 0 to 3, of each indicator on 2022-12-30
labeleach day’s state number, the three bins read as a three-digit number in base four
visitshow many days landed in each state that occurred
import pandas as pd

url = "https://raw.githubusercontent.com/ankurtrapasiya/examples/main/data/prices.csv"
px = pd.read_csv(url, index_col="date", parse_dates=True)["SPY"]
f = pd.DataFrame({
    "bollinger": (px - px.rolling(20).mean()) / (2 * px.rolling(20).std()),  # -1 lower band, +1 upper
    "ret_20d": px / px.shift(20) - 1,                                         # return over 20 days
    "vol_20d": px.pct_change().rolling(20).std(),                             # daily volatility, 20 days
}).dropna()

q = f.quantile([0.25, 0.5, 0.75])         # three thresholds per indicator: four bins
x = f.loc["2022-12-30"]                    # the evening before day 1 of the episode
bins = [int((x[c] > q[c]).sum()) for c in f.columns]   # thresholds the value is above: bin 0 to 3
print("bins:", bins, "label:", "".join(map(str, bins)))

label = sum(pd.qcut(f[c], 4, labels=False) * 4 ** (2 - k) for k, c in enumerate(f.columns))
visits = label.value_counts()              # days that landed in each state that occurred
print(f"{4 ** 3} states possible, {len(visits)} visited, {(visits >= 10).sum()} visited ten times or more")

cost, ret = 0.10, -0.42                    # % of the trade; SPY's return on day 1, in %
print("in cash:      go long", round(ret - cost, 2), " go cash", 0.0)
print("already long: go long", ret, " go cash", -cost)

It prints bins [0, 0, 2] and the label 002, then 64 states possible, 56 visited and 43 visited ten times or more, then the four rewards of Table 3: −0.52 and 0.0 from cash, −0.42 and −0.1 from long. pd.qcut(..., 4, labels=False) is the whole-column version of the threshold count above it: it cuts a column at its quartiles and returns each row’s bin number.

The script behind the real numbers

The tables and the chart come from examples/states-and-rewards-what-the-learner-learns/states_rewards.py, which runs on SPY, one of the blog’s five tickers. To run it yourself, clone the examples repo: its README has a three-command Docker setup, or run uv run states-and-rewards-what-the-learner-learns/states_rewards.py.

Summary

Table 7 is the post in one line per idea.

Table 7. Summary, one line per idea, with the SPY numbers
IdeaIn one lineOn SPY
Binscut each indicator into a few ranges; readings in one range are one state2022-12-30 is bins 0, 0, 2, label 002
State countbins to the power of the number of indicators4 bins, 3 indicators: 64 states
Too few binsdifferent situations share a label and cannot be told apart−1.76 and +0.42 in one half
Too many binsmost states are visited once or never10 bins: 10 of 1,000 states seen ten times
Holdingsthe same signal means buy in cash and hold when longday 1: −0.52 from cash, −0.42 from long
Rewardeach way of scoring the day teaches a different habit+3.98, +3.35, +3.34 or +2.75 on the same ten days
Bonusthe learner chases the bonus, not the intention0.15% per trade makes every trade worth +0.05%

References

  • Sutton and Barto, Reinforcement Learning: An Introduction, 2nd edition (MIT Press, 2018). Section 3.2 for the reward hypothesis, the agent always maximising its reward, the chess subgoal example and the reward as what to achieve, not how; the introduction to Part II for large state spaces needing time and data, not only memory; section 9.3 for state aggregation; section 17.4 for designing reward signals, the risk of supplemental rewards, and putting prior knowledge into initial values instead.
  • Tom M. Mitchell, Machine Learning (McGraw-Hill, 1997). Section 13.1 for partially observable states; section 13.6 for the explicit lookup table, rote learning, and convergence only if every state–action pair is visited infinitely often.
  • Gordon Ritter, Machine Learning for Trading (2017, SSRN 3015609). Section 2.1 for realised and unrealised profit and loss; section 2.2 for the change in portfolio value net of costs (equation 6); section 3.1 for the state including the agent’s current position; section 3.5 for the risk-adjusted reward (equations 13 and 15); section 4 for the state as price and position, and the risk-neutral reward giving a lower Sharpe ratio.
Tagged machine-learning, reinforcement-learning, trading← Home