├── .cargo-ok ├── www ├── now.json ├── .gitignore ├── .travis.yml ├── bootstrap.js ├── webpack.config.js ├── package.json ├── index.js └── index.html ├── .gitignore ├── .github └── dependabot.yml ├── tests └── web.rs ├── .appveyor.yml ├── src ├── utils.rs ├── random.rs └── lib.rs ├── Cargo.toml ├── docs ├── README_zh-CN.md ├── weekly-highest-distribution.csv ├── weekly-highest-distribution.svg ├── weekly-highest-distribution.json └── weekly-highest-distribution.vl.json ├── .travis.yml └── README.md /.cargo-ok: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /www/now.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "turnip-price" 3 | } -------------------------------------------------------------------------------- /www/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist 3 | 4 | .now -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | **/*.rs.bk 3 | Cargo.lock 4 | bin/ 5 | pkg/ 6 | wasm-pack.log 7 | *.out -------------------------------------------------------------------------------- /www/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: "10" 3 | 4 | script: 5 | - ./node_modules/.bin/webpack 6 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: npm 4 | directory: "/www" 5 | schedule: 6 | interval: daily 7 | open-pull-requests-limit: 10 8 | -------------------------------------------------------------------------------- /www/bootstrap.js: -------------------------------------------------------------------------------- 1 | // A dependency graph that contains any wasm must all be imported 2 | // asynchronously. This `bootstrap.js` file does the single async import, so 3 | // that no one else needs to worry about it again. 4 | import("./index.js") 5 | .catch(e => console.error("Error importing `index.js`:", e)); 6 | -------------------------------------------------------------------------------- /tests/web.rs: -------------------------------------------------------------------------------- 1 | //! Test suite for the Web and headless browsers. 2 | 3 | #![cfg(target_arch = "wasm32")] 4 | 5 | extern crate wasm_bindgen_test; 6 | use wasm_bindgen_test::*; 7 | 8 | wasm_bindgen_test_configure!(run_in_browser); 9 | 10 | #[wasm_bindgen_test] 11 | fn pass() { 12 | assert_eq!(1 + 1, 2); 13 | } 14 | -------------------------------------------------------------------------------- /www/webpack.config.js: -------------------------------------------------------------------------------- 1 | const CopyWebpackPlugin = require("copy-webpack-plugin"); 2 | const path = require('path'); 3 | 4 | module.exports = { 5 | entry: "./bootstrap.js", 6 | output: { 7 | path: path.resolve(__dirname, "public"), 8 | filename: "bootstrap.js", 9 | }, 10 | mode: "development", 11 | plugins: [ 12 | new CopyWebpackPlugin(['index.html']) 13 | ], 14 | }; 15 | -------------------------------------------------------------------------------- /.appveyor.yml: -------------------------------------------------------------------------------- 1 | install: 2 | - appveyor-retry appveyor DownloadFile https://win.rustup.rs/ -FileName rustup-init.exe 3 | - if not defined RUSTFLAGS rustup-init.exe -y --default-host x86_64-pc-windows-msvc --default-toolchain nightly 4 | - set PATH=%PATH%;C:\Users\appveyor\.cargo\bin 5 | - rustc -V 6 | - cargo -V 7 | 8 | build: false 9 | 10 | test_script: 11 | - cargo test --locked 12 | -------------------------------------------------------------------------------- /www/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "turnip-price", 3 | "scripts": { 4 | "build": "webpack --config webpack.config.js", 5 | "start": "webpack-dev-server" 6 | }, 7 | "dependencies": { 8 | "lodash.random": "^3.2.0", 9 | "turnip-price": "^0.1.1" 10 | }, 11 | "devDependencies": { 12 | "copy-webpack-plugin": "^6.0.3", 13 | "webpack": "^4.44.2", 14 | "webpack-cli": "^3.3.12", 15 | "webpack-dev-server": "^3.11.0" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/utils.rs: -------------------------------------------------------------------------------- 1 | pub fn set_panic_hook() { 2 | // When the `console_error_panic_hook` feature is enabled, we can call the 3 | // `set_panic_hook` function at least once during initialization, and then 4 | // we will get better error messages if our code ever panics. 5 | // 6 | // For more details see 7 | // https://github.com/rustwasm/console_error_panic_hook#readme 8 | #[cfg(feature = "console_error_panic_hook")] 9 | console_error_panic_hook::set_once(); 10 | } 11 | -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "turnip-price" 3 | version = "0.1.1" 4 | authors = ["chengluyu "] 5 | edition = "2018" 6 | 7 | [lib] 8 | crate-type = ["cdylib", "rlib"] 9 | 10 | [features] 11 | default = ["console_error_panic_hook"] 12 | 13 | [dependencies] 14 | wasm-bindgen = "0.2" 15 | 16 | # The `console_error_panic_hook` crate provides better debugging of panics by 17 | # logging them with `console.error`. This is great for development, but requires 18 | # all the `std::fmt` and `std::panicking` infrastructure, so isn't great for 19 | # code size when deploying. 20 | console_error_panic_hook = { version = "0.1.1", optional = true } 21 | 22 | # `wee_alloc` is a tiny allocator for wasm that is only ~1K in code size 23 | # compared to the default allocator's ~10K. It is slower than the default 24 | # allocator, however. 25 | # 26 | # Unfortunately, `wee_alloc` requires nightly Rust when targeting wasm for now. 27 | wee_alloc = { version = "0.4.2", optional = true } 28 | 29 | [dev-dependencies] 30 | wasm-bindgen-test = "0.3" 31 | 32 | [profile.release] 33 | # Tell `rustc` to optimize for small code size. 34 | opt-level = "s" 35 | -------------------------------------------------------------------------------- /www/index.js: -------------------------------------------------------------------------------- 1 | import * as wasm from "turnip-price"; 2 | import { memory } from 'turnip-price/turnip_price_bg'; 3 | import random from 'lodash.random'; 4 | 5 | const explanation = [ 6 | 'high, decreasing, high, decreasing, high', 7 | 'decreasing middle, high spike, random low', 8 | 'consistently decreasing', 9 | 'decreasing, spike, decreasing', 10 | ]; 11 | 12 | document.getElementById('generate-seed').onclick = () => { 13 | document.getElementById('seed').value = random(0, 4294967295); 14 | }; 15 | 16 | document.getElementById('turnip-price-form').onsubmit = e => { 17 | e.preventDefault(); 18 | const currentPattern = parseInt(document.getElementById('pattern').value, 10); 19 | const seed = parseInt(document.getElementById('seed').value, 10); 20 | const turnip = wasm.calculate(currentPattern, seed); 21 | 22 | // Update the price table. 23 | document.getElementById('buying-price').innerText = turnip.buying_price().toString(); 24 | const prices = new Int32Array(memory.buffer, turnip.selling_prices(), 12); 25 | prices.forEach((value, i) => { 26 | document.getElementById(`selling-price-${i}`).innerText = value.toString(); 27 | }); 28 | // Update the next pattern. 29 | const nextPattern = turnip.pattern(); 30 | document.getElementById('next-pattern').innerText = `${nextPattern} (${explanation[nextPattern]})`; 31 | }; -------------------------------------------------------------------------------- /src/random.rs: -------------------------------------------------------------------------------- 1 | pub struct Random(u32, u32, u32, u32); 2 | 3 | impl Random { 4 | pub fn new(seed: u32) -> Random { 5 | let seed0 = (0x6C078965u64 * ((seed ^ (seed >> 30)) as u64) + 1) as u32; 6 | let seed1 = (0x6C078965u64 * ((seed0 ^ (seed0 >> 30)) as u64) + 2) as u32; 7 | let seed2 = (0x6C078965u64 * ((seed1 ^ (seed1 >> 30)) as u64) + 3) as u32; 8 | let seed3 = (0x6C078965u64 * ((seed2 ^ (seed2 >> 30)) as u64) + 4) as u32; 9 | Random(seed0, seed1, seed2, seed3) 10 | } 11 | 12 | pub fn get_u32(&mut self) -> u32 { 13 | let n = self.0 ^ (self.0 << 11); 14 | self.0 = self.1; 15 | self.1 = self.2; 16 | self.2 = self.3; 17 | self.3 = n ^ (n >> 8) ^ self.3 ^ (self.3 >> 19); 18 | return self.3; 19 | } 20 | 21 | pub fn rand_bool(&mut self) -> bool { 22 | self.get_u32() & 0x8000_0000 != 0 23 | } 24 | 25 | pub fn rand_int(&mut self, min: i32, max: i32) -> i32 { 26 | ((((self.get_u32() as u64) * ((max - min + 1) as u64)) >> 32) + (min as u64)) as i32 27 | } 28 | 29 | pub fn rand_float(&mut self, a: f32, b: f32) -> f32 { 30 | let val: u32 = 0x3F800000 | (self.get_u32() >> 9); 31 | let pval: *const u32 = &val; 32 | unsafe { 33 | let fval: f32 = *(pval as *const f32); 34 | a + ((fval - 1.0f32) * (b - a)) 35 | } 36 | } 37 | } -------------------------------------------------------------------------------- /docs/README_zh-CN.md: -------------------------------------------------------------------------------- 1 | # 大头菜价格 2 | 3 | 《集合啦!动物森友会》大头菜价格计算器(Rust 和 WebAssembly 版)。点击[这里](https://turnip-price.now.sh)访问在线版的计算器。 4 | 5 | 本项目非常感谢Twitter网友[@_Ninji](https://twitter.com/_Ninji),如果他没有反编译游戏代码并且发布了一个[C++版本的算法](https://gist.github.com/Treeki/85be14d297c80c8b3c0a76375743325b),那么根本就不会有本项目。 6 | 7 | ## 🚀 使用 8 | 9 | 你可以用 npm 或 Yarn 来安装这个包。 10 | 11 | ```bash 12 | npm i turnip-price 13 | # or 14 | yarn add turnip-price 15 | ``` 16 | 17 | 记得确认一下你的目标环境是支持 WebAssembly 的。安装完后,可以用下面的方式来计算大头菜价格。 18 | 19 | ```js 20 | import * as wasm from "turnip-price"; 21 | import { memory } from 'turnip-price/turnip_price_bg'; 22 | 23 | function calculate(whatPattern, seed) { 24 | const turnip = wasm.calculate(whatPattern, seed); 25 | return { 26 | buyingPrice: trunip.buying_price, 27 | sellingPrices: new Int32Array(memory.buffer, turnip.selling_prices(), 12), 28 | }; 29 | } 30 | ``` 31 | 32 | 关于 `sellingPrices` 数组的解释: 33 | 34 | * 第零、二、四、六、八、十个元素分别表示了周一到周六这几天上午的卖出价格; 35 | * 第一、三、五、七、九、十一个元素分别表示了周一到周六这几天下午的卖出价格。 36 | 37 | ## 🤔 问答 38 | 39 | ### 📈 如何使用这个库来预测我岛上的大头菜价格? 40 | 41 | 很遗憾现在还不行。因为此算法需要游戏内的随机数种子。 42 | 43 | ### 🕸️🦀️ 为什么使用 WebAssembly? 44 | 45 | 因为提供的算法中需要把无符号 32 位整数重新解释为 IEEE 754 的 32 位浮点数。用 JavaScript 手动实现微麻烦,干脆就用 Rust 写并编译到 WebAssembly 好了。 46 | 47 | ## 🔍 发现 48 | 49 | ### 📚 我可以枚举所有组合吗? 50 | 51 | 可以,一共有 4 × 2 ^ 32 = 17,179,869,184` 种组合。在我的电脑上遍历所有情况只需四分钟(使用了四个线程)。 52 | 53 | ### 💰 可能的最高价是多少? 54 | 55 | 我遍历了所有组合,在每种模式下得到了下面的结果。 56 | 57 | * 在模式 0 (即代码中 `what_pattern` 设为 0), 最高价为 660 铃钱,此时种子为 326。 58 | * 在模式 1 (即代码中 `what_pattern` 设为 1), 最高价为 660 铃钱,此时种子为 326。 59 | * 在模式 2 (即代码中 `what_pattern` 设为 2), 最高价为 660 铃钱,此时种子为 326。 60 | * 在模式 3 (即代码中 `what_pattern` 设为 3), 最高价为 660 铃钱,此时种子为 9772。 61 | 62 | 所以大头菜可能的最高价格是 660 铃钱。 63 | 64 | ### 📈 每周最高卖出价分布 65 | 66 | 我遍历所有组合后画了一张图。 67 | 68 | ![The Histogram of Weekly Highest Price of Turnips](weekly-highest-distribution.svg) 69 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: rust 2 | sudo: false 3 | 4 | cache: cargo 5 | 6 | matrix: 7 | include: 8 | 9 | # Builds with wasm-pack. 10 | - rust: beta 11 | env: RUST_BACKTRACE=1 12 | addons: 13 | firefox: latest 14 | chrome: stable 15 | before_script: 16 | - (test -x $HOME/.cargo/bin/cargo-install-update || cargo install cargo-update) 17 | - (test -x $HOME/.cargo/bin/cargo-generate || cargo install --vers "^0.2" cargo-generate) 18 | - cargo install-update -a 19 | - curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh -s -- -f 20 | script: 21 | - cargo generate --git . --name testing 22 | # Having a broken Cargo.toml (in that it has curlies in fields) anywhere 23 | # in any of our parent dirs is problematic. 24 | - mv Cargo.toml Cargo.toml.tmpl 25 | - cd testing 26 | - wasm-pack build 27 | - wasm-pack test --chrome --firefox --headless 28 | 29 | # Builds on nightly. 30 | - rust: nightly 31 | env: RUST_BACKTRACE=1 32 | before_script: 33 | - (test -x $HOME/.cargo/bin/cargo-install-update || cargo install cargo-update) 34 | - (test -x $HOME/.cargo/bin/cargo-generate || cargo install --vers "^0.2" cargo-generate) 35 | - cargo install-update -a 36 | - rustup target add wasm32-unknown-unknown 37 | script: 38 | - cargo generate --git . --name testing 39 | - mv Cargo.toml Cargo.toml.tmpl 40 | - cd testing 41 | - cargo check 42 | - cargo check --target wasm32-unknown-unknown 43 | - cargo check --no-default-features 44 | - cargo check --target wasm32-unknown-unknown --no-default-features 45 | - cargo check --no-default-features --features console_error_panic_hook 46 | - cargo check --target wasm32-unknown-unknown --no-default-features --features console_error_panic_hook 47 | - cargo check --no-default-features --features "console_error_panic_hook wee_alloc" 48 | - cargo check --target wasm32-unknown-unknown --no-default-features --features "console_error_panic_hook wee_alloc" 49 | 50 | # Builds on beta. 51 | - rust: beta 52 | env: RUST_BACKTRACE=1 53 | before_script: 54 | - (test -x $HOME/.cargo/bin/cargo-install-update || cargo install cargo-update) 55 | - (test -x $HOME/.cargo/bin/cargo-generate || cargo install --vers "^0.2" cargo-generate) 56 | - cargo install-update -a 57 | - rustup target add wasm32-unknown-unknown 58 | script: 59 | - cargo generate --git . --name testing 60 | - mv Cargo.toml Cargo.toml.tmpl 61 | - cd testing 62 | - cargo check 63 | - cargo check --target wasm32-unknown-unknown 64 | - cargo check --no-default-features 65 | - cargo check --target wasm32-unknown-unknown --no-default-features 66 | - cargo check --no-default-features --features console_error_panic_hook 67 | - cargo check --target wasm32-unknown-unknown --no-default-features --features console_error_panic_hook 68 | # Note: no enabling the `wee_alloc` feature here because it requires 69 | # nightly for now. 70 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Turnip Price 2 | 3 | [中文版](docs/README_zh-CN.md) 4 | 5 | A Rust (and WebAssembly) implementation of the calculator turnip price of Animal Crossing: New Horizon. This project can't be done without [@_Ninji](https://twitter.com/_Ninji)'s [C++ code](https://gist.github.com/Treeki/85be14d297c80c8b3c0a76375743325b) and his disassembly work. You can try the [demo](https://turnip-price.now.sh) online. 6 | 7 | ## 🚀 Getting Started 8 | 9 | You can install this package via npm or Yarn. 10 | 11 | ```bash 12 | npm i turnip-price 13 | # or 14 | yarn add turnip-price 15 | ``` 16 | 17 | Also, make sure that the target environment has access to WebAssembly. Then you can write a calculation function like this. 18 | 19 | ```js 20 | import * as wasm from "turnip-price"; 21 | import { memory } from 'turnip-price/turnip_price_bg'; 22 | 23 | function calculate(whatPattern, seed) { 24 | const turnip = wasm.calculate(whatPattern, seed); 25 | return { 26 | buyingPrice: trunip.buying_price, 27 | sellingPrices: new Int32Array(memory.buffer, turnip.selling_prices(), 12), 28 | }; 29 | } 30 | ``` 31 | 32 | Explanation of the `sellingPrices` array: 33 | 34 | * The 0th, 2nd, 4th, 6th, 8th, 10th elements indicate the morning price from Tuesday to Saturday respectively; 35 | * The 1st, 3rd, 5th, 7th, 9th, 11th elements indicate the afternoon price from Tuesday to Saturday respectively. 36 | 37 | ## 🤔 FAQ 38 | 39 | ### 📈 Can I Predict the Price on My Island by This? 40 | 41 | No, yet. *Because you don't have the random seed, which is not exposed to regular players.* By the way, if you have the seed, *the calculator won't work the first time you buy the turnips*, according to [@_Ninji's reply](https://twitter.com/_Ninji/status/1245097287136706561?s=20). 42 | 43 | ### 🕸️🦀️ Why do you use WebAssembly? 44 | 45 | Because the code involves the practice of reinterpreting unsigned 32-bit integer as 32-bit IEEE 754 floating number. 46 | Though I can do that in JavaScript, using WebAssembly maybe more stable. 47 | 48 | ## 🔍 Discovery 49 | 50 | ### 📚 Can I Enumerate All Combinations? 51 | 52 | There are total `4 × 2 ^ 32 = 17,179,869,184` combinations. 53 | On my machine, it tooks 4 minutes to enumerate all combinations (in 4 threads). 54 | 55 | However, it's cost to save all combinations to your disk. 56 | For each combination, the algorithm will product 13 prices. 57 | Each price is a positive integer from 0 to around 660, which can be represented by an unsigned 10-bit integer. 58 | Therefore, the uncompressed data size is 2,233,382,993,920 bits, i.e. 260 GBs. 59 | 60 | ### 💰 How Much Is The Highest Price? 61 | 62 | I tried all combinations of patterns (0, 1, 2, 3) and seeds (from 0 to `UINT32_MAX`). Here is the results. 63 | 64 | * In pattern 0 (i.e. `what_pattern` is set to 0), the highest price is 660 when seed = 326. 65 | * In pattern 1 (i.e. `what_pattern` is set to 1), the highest price is 660 when seed = 326. 66 | * In pattern 2 (i.e. `what_pattern` is set to 2), the highest price is 660 when seed = 326. 67 | * In pattern 3 (i.e. `what_pattern` is set to 3), the highest price is 660 when seed = 9772. 68 | 69 | In conclusion, **the highest price of turnips is 660**. 70 | 71 | ### 📈 Weekly Highest Price Distribution 72 | 73 | You may want to acknowledge the distribtion. I also did this. 74 | 75 | ![The Histogram of Weekly Highest Price of Turnips](docs/weekly-highest-distribution.svg) 76 | -------------------------------------------------------------------------------- /www/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | AC:HN Turnip Price Calculator 6 | 13 | 14 | 15 |

AC:HN Price Calculator

16 |

Acknowledgement

17 |

18 | This work is based on the 19 | code 20 | from 21 | @_Ninji, 22 | who disassembled the game executable. 23 |

24 |

The Calculator

25 |
26 |
27 | 28 | 35 |
36 |
37 | 38 | 39 | 40 |
41 | 42 |
43 |

Pattern: N/A

44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 |
SundayMondayTuesdayWednesdayThursdayFridaySaturday
A.M.0000000
P.M.N/A000000
80 |

FAQ

81 |

Can I Predict the Turnip Price on My Island?

82 |

83 | Generally, 84 | you cannot use this to predict turnip prices because you don't have the seed. 85 | However, since seed is a unsigned 32-bit integer, we can enumerate all possibility. 86 | On my computer, it takes 16 minutes to enumerate all combination of patterns and seeds on a single thread. 87 | Besides, even if you have the seed. This calculator won't work the first time you buy the turnips, 88 | according to @_Ninji's reply. 89 |

90 |
91 | One thing that can skew it for reports: the FirstKabuPattern flag 92 | (set directly after the first day you buy turnips on your own island - i.e. not travelling) 93 | forces pattern 3 and generates a new buy price. 94 |
95 | 96 | 97 | 98 | 99 | -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- 1 | mod random; 2 | mod utils; 3 | 4 | use wasm_bindgen::prelude::*; 5 | use random::Random; 6 | 7 | // When the `wee_alloc` feature is enabled, use `wee_alloc` as the global 8 | // allocator. 9 | #[cfg(feature = "wee_alloc")] 10 | #[global_allocator] 11 | static ALLOC: wee_alloc::WeeAlloc = wee_alloc::WeeAlloc::INIT; 12 | 13 | fn ceil(val: f32) -> i32 { 14 | (val + 0.99999f32) as i32 15 | } 16 | 17 | #[wasm_bindgen] 18 | pub struct TurnipPrice { 19 | pattern: u32, 20 | buying_price: i32, 21 | selling_prices: [i32; 12], 22 | } 23 | 24 | #[wasm_bindgen] 25 | impl TurnipPrice { 26 | pub fn pattern(&self) -> u32 { 27 | self.pattern 28 | } 29 | 30 | pub fn buying_price(&self) -> i32 { 31 | self.buying_price 32 | } 33 | 34 | pub fn selling_prices(&self) -> *const i32 { 35 | self.selling_prices.as_ptr() 36 | } 37 | } 38 | 39 | #[wasm_bindgen] 40 | pub fn calculate(what_pattern: u32, seed: u32) -> TurnipPrice { 41 | let mut rng = Random::new(seed); 42 | let base_price = rng.rand_int(90, 110) as f32; 43 | let chance = rng.rand_int(0, 99); 44 | let next_pattern: u32 = match what_pattern { 45 | 0 => match chance { 46 | 0..=19 => 0, 47 | 20..=49 => 1, 48 | 50..=64 => 2, 49 | _ => 3, 50 | }, 51 | 1 => match chance { 52 | 0..=49 => 0, 53 | 50..=54 => 1, 54 | 55..=74 => 2, 55 | _ => 3, 56 | }, 57 | 2 => match chance { 58 | 0..=24 => 0, 59 | 25..=69 => 1, 60 | 70..=74 => 2, 61 | _ => 3, 62 | }, 63 | 3 => match chance { 64 | 0..=44 => 0, 65 | 45..=69 => 1, 66 | 70..=84 => 2, 67 | _ => 3, 68 | }, 69 | _ => 2, 70 | }; 71 | 72 | let mut sell_prices: [i32; 12] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; 73 | 74 | match next_pattern { 75 | 0 => { 76 | // Pattern 0: high, decreasing, high, decreasing, high 77 | let mut day: usize = 0; 78 | let dec_phase_len_1: i32 = if rng.rand_bool() { 3 } else { 2 }; 79 | let dec_phase_len_2: i32 = 5 - dec_phase_len_1; 80 | 81 | let hi_phase_len_1: i32 = rng.rand_int(0, 6); 82 | let hi_phase_len_2_and_3: i32 = 7 - hi_phase_len_1; 83 | let hi_phase_len_3: i32 = rng.rand_int(0, hi_phase_len_2_and_3 - 1); 84 | 85 | // High phase 1 86 | for _ in 0..hi_phase_len_1 { 87 | sell_prices[day] = ceil(rng.rand_float(0.9, 1.4) * base_price); 88 | day += 1; 89 | } 90 | 91 | // Decreasing phase 1 92 | let mut rate: f32 = rng.rand_float(0.8, 0.6); 93 | for _ in 0..dec_phase_len_1 { 94 | sell_prices[day] = ceil(rate * base_price); 95 | day += 1; 96 | rate -= 0.04; 97 | rate -= rng.rand_float(0.0, 0.06); 98 | } 99 | 100 | // High phase 2 101 | for _ in 0..(hi_phase_len_2_and_3 - hi_phase_len_3) { 102 | sell_prices[day] = ceil(rng.rand_float(0.9, 1.4) * base_price); 103 | day += 1; 104 | } 105 | 106 | // Decreasing phase 2 107 | rate = rng.rand_float(0.8, 0.6); 108 | for _ in 0..dec_phase_len_2 { 109 | sell_prices[day] = ceil(rate * base_price); 110 | day += 1; 111 | rate -= 0.04; 112 | rate -= rng.rand_float(0.0, 0.06); 113 | } 114 | 115 | // High phase 3 116 | for _ in 0..hi_phase_len_3 { 117 | sell_prices[day] = ceil(rng.rand_float(0.9, 1.4) * base_price); 118 | day += 1; 119 | } 120 | } 121 | 1 => { 122 | // Pattern 1: decreasing middle, high spike, random low 123 | let peak_start = rng.rand_int(1, 7) as usize; 124 | let mut rate: f32 = rng.rand_float(0.9, 0.85); 125 | let mut day: usize = 0; 126 | while day < peak_start { 127 | sell_prices[day] = ceil(rate * base_price); 128 | rate -= 0.03; 129 | rate -= rng.rand_float(0.0, 0.02); 130 | day += 1; 131 | } 132 | sell_prices[day] = ceil(rng.rand_float(0.9, 1.4) * base_price); 133 | day += 1; 134 | sell_prices[day] = ceil(rng.rand_float(1.4, 2.0) * base_price); 135 | day += 1; 136 | sell_prices[day] = ceil(rng.rand_float(2.0, 6.0) * base_price); 137 | day += 1; 138 | sell_prices[day] = ceil(rng.rand_float(1.4, 2.0) * base_price); 139 | day += 1; 140 | sell_prices[day] = ceil(rng.rand_float(0.9, 1.4) * base_price); 141 | day += 1; 142 | // Fill the remaining days 143 | while day < 12 { 144 | sell_prices[day] = ceil(rng.rand_float(0.4, 0.9) * base_price); 145 | day += 1; 146 | } 147 | } 148 | 2 => { 149 | // Pattern 2: consistently decreasing 150 | let mut rate: f32 = 0.9 - rng.rand_float(0.0, 0.05); 151 | for price in sell_prices.iter_mut() { 152 | *price = ceil(rate * base_price); 153 | rate = rate - 0.03 - rng.rand_float(0.0, 0.02); 154 | } 155 | } 156 | 3 => { 157 | // Pattern 3: decreasing, spike, decreasing 158 | let peak_start = rng.rand_int(0, 7) as usize; 159 | 160 | // Decreasing phase before the peak 161 | let mut rate: f32 = rng.rand_float(0.9, 0.4); 162 | 163 | let mut day: usize = 0; 164 | while day < peak_start { 165 | sell_prices[day] = ceil(rate * base_price); 166 | rate -= 0.03; 167 | rate -= rng.rand_float(0.0, 0.02); 168 | day += 1; 169 | } 170 | 171 | sell_prices[day] = ceil(rng.rand_float(0.9, 1.4) * base_price); 172 | day += 1; 173 | sell_prices[day] = ceil(rng.rand_float(0.9, 1.4) * base_price); 174 | day += 1; 175 | rate = rng.rand_float(1.4, 2.0); 176 | sell_prices[day] = ceil(rng.rand_float(1.4, rate) * base_price) - 1; 177 | day += 1; 178 | sell_prices[day] = ceil(rate * base_price); 179 | day += 1; 180 | sell_prices[day] = ceil(rng.rand_float(1.4, rate) * base_price) - 1; 181 | day += 1; 182 | 183 | // Decreasing phase after the peak 184 | if day < 12 { 185 | rate = rng.rand_float(0.9, 0.4); 186 | while day < 12 { 187 | sell_prices[day] = ceil(rate * base_price); 188 | rate -= 0.03; 189 | rate -= rng.rand_float(0.0, 0.02); 190 | day += 1; 191 | } 192 | } 193 | } 194 | _ => { 195 | for x in sell_prices.iter_mut() { 196 | *x = -1; 197 | } 198 | } 199 | } 200 | 201 | TurnipPrice { 202 | pattern: next_pattern, 203 | buying_price: base_price as i32, 204 | selling_prices: sell_prices, 205 | } 206 | } 207 | -------------------------------------------------------------------------------- /docs/weekly-highest-distribution.csv: -------------------------------------------------------------------------------- 1 | price,frequency 2 | 0,0 3 | 1,0 4 | 2,0 5 | 3,0 6 | 4,0 7 | 5,0 8 | 6,0 9 | 7,0 10 | 8,0 11 | 9,0 12 | 10,0 13 | 11,0 14 | 12,0 15 | 13,0 16 | 14,0 17 | 15,0 18 | 16,0 19 | 17,0 20 | 18,0 21 | 19,0 22 | 20,0 23 | 21,0 24 | 22,0 25 | 23,0 26 | 24,0 27 | 25,0 28 | 26,0 29 | 27,0 30 | 28,0 31 | 29,0 32 | 30,0 33 | 31,0 34 | 32,0 35 | 33,0 36 | 34,0 37 | 35,0 38 | 36,0 39 | 37,0 40 | 38,0 41 | 39,0 42 | 40,0 43 | 41,0 44 | 42,0 45 | 43,0 46 | 44,0 47 | 45,0 48 | 46,0 49 | 47,0 50 | 48,0 51 | 49,0 52 | 50,0 53 | 51,0 54 | 52,0 55 | 53,0 56 | 54,0 57 | 55,0 58 | 56,0 59 | 57,0 60 | 58,0 61 | 59,0 62 | 60,0 63 | 61,0 64 | 62,0 65 | 63,0 66 | 64,0 67 | 65,0 68 | 66,0 69 | 67,0 70 | 68,0 71 | 69,0 72 | 70,0 73 | 71,0 74 | 72,0 75 | 73,0 76 | 74,0 77 | 75,0 78 | 76,0 79 | 77,4544654 80 | 78,14930594 81 | 79,25194715 82 | 80,36201827 83 | 81,46621236 84 | 82,46510507 85 | 83,46380273 86 | 84,46266966 87 | 85,46169225 88 | 86,47268210 89 | 87,47136601 90 | 88,47017488 91 | 89,46900051 92 | 90,46775451 93 | 91,46246983 94 | 92,46899726 95 | 93,46795760 96 | 94,46693179 97 | 95,41806728 98 | 96,33292643 99 | 97,24879914 100 | 98,16563109 101 | 99,8348445 102 | 100,230096 103 | 101,327110 104 | 102,455587 105 | 103,625705 106 | 104,847520 107 | 105,1133066 108 | 106,1495772 109 | 107,1953643 110 | 108,2526343 111 | 109,3228408 112 | 110,4097035 113 | 111,5151422 114 | 112,6432237 115 | 113,7972882 116 | 114,9811982 117 | 115,11999222 118 | 116,14581195 119 | 117,17617788 120 | 118,21182890 121 | 119,25337572 122 | 120,30150777 123 | 121,35704073 124 | 122,42117577 125 | 123,49477812 126 | 124,57878970 127 | 125,67479753 128 | 126,78363752 129 | 127,74645148 130 | 128,76909703 131 | 129,79020506 132 | 130,78075742 133 | 131,77237952 134 | 132,79212770 135 | 133,80947767 136 | 134,76988759 137 | 135,78675068 138 | 136,80117023 139 | 137,78613768 140 | 138,77082585 141 | 139,78118646 142 | 140,78815687 143 | 141,73967064 144 | 142,74354607 145 | 143,74327937 146 | 144,71316142 147 | 145,68144120 148 | 146,67116081 149 | 147,65602632 150 | 148,58572811 151 | 149,56233950 152 | 150,53206787 153 | 151,47030441 154 | 152,40345828 155 | 153,35378983 156 | 154,29512142 157 | 155,25155910 158 | 156,25156841 159 | 157,25137086 160 | 158,25150628 161 | 159,25140270 162 | 160,25141709 163 | 161,25156192 164 | 162,25144528 165 | 163,25141541 166 | 164,25145815 167 | 165,25153235 168 | 166,25151606 169 | 167,25151403 170 | 168,25141821 171 | 169,25145261 172 | 170,25148553 173 | 171,25147741 174 | 172,25151376 175 | 173,25157034 176 | 174,25149189 177 | 175,25145673 178 | 176,25154512 179 | 177,25143066 180 | 178,25140134 181 | 179,25146503 182 | 180,25140476 183 | 181,23992928 184 | 182,23989984 185 | 183,22845510 186 | 184,22855635 187 | 185,21721563 188 | 186,21717640 189 | 187,20593434 190 | 188,20593481 191 | 189,19495849 192 | 190,19493449 193 | 191,18405512 194 | 192,18394895 195 | 193,17327162 196 | 194,17311398 197 | 195,16244026 198 | 196,16244188 199 | 197,15181294 200 | 198,15183228 201 | 199,14125883 202 | 200,14130054 203 | 201,13088384 204 | 202,13098585 205 | 203,12058343 206 | 204,12070140 207 | 205,11049399 208 | 206,11044090 209 | 207,10034734 210 | 208,10043204 211 | 209,9035173 212 | 210,9038814 213 | 211,8050268 214 | 212,8049033 215 | 213,7142076 216 | 214,7143988 217 | 215,6561721 218 | 216,6558320 219 | 217,5983024 220 | 218,5991099 221 | 219,5416527 222 | 220,5413343 223 | 221,4851788 224 | 222,4848196 225 | 223,4851173 226 | 224,4845268 227 | 225,4849413 228 | 226,4849344 229 | 227,4849557 230 | 228,4844774 231 | 229,4853741 232 | 230,4849589 233 | 231,4848499 234 | 232,4852490 235 | 233,4853153 236 | 234,4848290 237 | 235,4851987 238 | 236,4849048 239 | 237,4849730 240 | 238,4848084 241 | 239,4850303 242 | 240,4846743 243 | 241,4849459 244 | 242,4847017 245 | 243,4849875 246 | 244,4848568 247 | 245,4849527 248 | 246,4849174 249 | 247,4852424 250 | 248,4850653 251 | 249,4849376 252 | 250,4843522 253 | 251,4850308 254 | 252,4847846 255 | 253,4848140 256 | 254,4848330 257 | 255,4849753 258 | 256,4847751 259 | 257,4852699 260 | 258,4850252 261 | 259,4852926 262 | 260,4852378 263 | 261,4848817 264 | 262,4849185 265 | 263,4849022 266 | 264,4851008 267 | 265,4847415 268 | 266,4849290 269 | 267,4851737 270 | 268,4845636 271 | 269,4850853 272 | 270,4851290 273 | 271,4848148 274 | 272,4847283 275 | 273,4850157 276 | 274,4850756 277 | 275,4849286 278 | 276,4847459 279 | 277,4848202 280 | 278,4852102 281 | 279,4853402 282 | 280,4847697 283 | 281,4851044 284 | 282,4848661 285 | 283,4849314 286 | 284,4853347 287 | 285,4847862 288 | 286,4853055 289 | 287,4849236 290 | 288,4851405 291 | 289,4847969 292 | 290,4850818 293 | 291,4850848 294 | 292,4847749 295 | 293,4850034 296 | 294,4849835 297 | 295,4851164 298 | 296,4846275 299 | 297,4847010 300 | 298,4851862 301 | 299,4848703 302 | 300,4852243 303 | 301,4850086 304 | 302,4850131 305 | 303,4847124 306 | 304,4847157 307 | 305,4851365 308 | 306,4846857 309 | 307,4848956 310 | 308,4851185 311 | 309,4850216 312 | 310,4848565 313 | 311,4854054 314 | 312,4847445 315 | 313,4849193 316 | 314,4846086 317 | 315,4851219 318 | 316,4850439 319 | 317,4851131 320 | 318,4847503 321 | 319,4850584 322 | 320,4850664 323 | 321,4845825 324 | 322,4849564 325 | 323,4849342 326 | 324,4854273 327 | 325,4849107 328 | 326,4850809 329 | 327,4853079 330 | 328,4848916 331 | 329,4846608 332 | 330,4844671 333 | 331,4849820 334 | 332,4848415 335 | 333,4848486 336 | 334,4850739 337 | 335,4852018 338 | 336,4850263 339 | 337,4849762 340 | 338,4850747 341 | 339,4850198 342 | 340,4845467 343 | 341,4850532 344 | 342,4846428 345 | 343,4849270 346 | 344,4850715 347 | 345,4849121 348 | 346,4851551 349 | 347,4850589 350 | 348,4844481 351 | 349,4848923 352 | 350,4852833 353 | 351,4850464 354 | 352,4848728 355 | 353,4850013 356 | 354,4848563 357 | 355,4850664 358 | 356,4851976 359 | 357,4849239 360 | 358,4848622 361 | 359,4850519 362 | 360,4849810 363 | 361,4847440 364 | 362,4849497 365 | 363,4850294 366 | 364,4846272 367 | 365,4846236 368 | 366,4848012 369 | 367,4852485 370 | 368,4846784 371 | 369,4847065 372 | 370,4850520 373 | 371,4853444 374 | 372,4850545 375 | 373,4850548 376 | 374,4847264 377 | 375,4848218 378 | 376,4854361 379 | 377,4853940 380 | 378,4848295 381 | 379,4849853 382 | 380,4851042 383 | 381,4848029 384 | 382,4849681 385 | 383,4850669 386 | 384,4846498 387 | 385,4846182 388 | 386,4853666 389 | 387,4850034 390 | 388,4852980 391 | 389,4852577 392 | 390,4850077 393 | 391,4847802 394 | 392,4852898 395 | 393,4851856 396 | 394,4847183 397 | 395,4854414 398 | 396,4849270 399 | 397,4848187 400 | 398,4850543 401 | 399,4851218 402 | 400,4851943 403 | 401,4852172 404 | 402,4849372 405 | 403,4847417 406 | 404,4847882 407 | 405,4848108 408 | 406,4848984 409 | 407,4845640 410 | 408,4850532 411 | 409,4849776 412 | 410,4848716 413 | 411,4847436 414 | 412,4846050 415 | 413,4851554 416 | 414,4849971 417 | 415,4848575 418 | 416,4852435 419 | 417,4851679 420 | 418,4850242 421 | 419,4847137 422 | 420,4851061 423 | 421,4851648 424 | 422,4851045 425 | 423,4852331 426 | 424,4850457 427 | 425,4850204 428 | 426,4846947 429 | 427,4848439 430 | 428,4852552 431 | 429,4847873 432 | 430,4852333 433 | 431,4848492 434 | 432,4847092 435 | 433,4849250 436 | 434,4848101 437 | 435,4849433 438 | 436,4847369 439 | 437,4851737 440 | 438,4845168 441 | 439,4847728 442 | 440,4847804 443 | 441,4849886 444 | 442,4849153 445 | 443,4849567 446 | 444,4851485 447 | 445,4851368 448 | 446,4850433 449 | 447,4850935 450 | 448,4849314 451 | 449,4850140 452 | 450,4848668 453 | 451,4844662 454 | 452,4849841 455 | 453,4851117 456 | 454,4848920 457 | 455,4849194 458 | 456,4849590 459 | 457,4851030 460 | 458,4852276 461 | 459,4846554 462 | 460,4847539 463 | 461,4851823 464 | 462,4852028 465 | 463,4847507 466 | 464,4846945 467 | 465,4853979 468 | 466,4849800 469 | 467,4851673 470 | 468,4849132 471 | 469,4849172 472 | 470,4847470 473 | 471,4850080 474 | 472,4848940 475 | 473,4848159 476 | 474,4851327 477 | 475,4847625 478 | 476,4847190 479 | 477,4852833 480 | 478,4846295 481 | 479,4847497 482 | 480,4848508 483 | 481,4849019 484 | 482,4850699 485 | 483,4850774 486 | 484,4850494 487 | 485,4852253 488 | 486,4849248 489 | 487,4848660 490 | 488,4851922 491 | 489,4850298 492 | 490,4850110 493 | 491,4847233 494 | 492,4852170 495 | 493,4850982 496 | 494,4851291 497 | 495,4851078 498 | 496,4848443 499 | 497,4849124 500 | 498,4850912 501 | 499,4848357 502 | 500,4849514 503 | 501,4849414 504 | 502,4854112 505 | 503,4849096 506 | 504,4848774 507 | 505,4848375 508 | 506,4850885 509 | 507,4852527 510 | 508,4849960 511 | 509,4853302 512 | 510,4851113 513 | 511,4849139 514 | 512,4850578 515 | 513,4849210 516 | 514,4852364 517 | 515,4846926 518 | 516,4849814 519 | 517,4849340 520 | 518,4850222 521 | 519,4852794 522 | 520,4846586 523 | 521,4849224 524 | 522,4848341 525 | 523,4852037 526 | 524,4845823 527 | 525,4850187 528 | 526,4849088 529 | 527,4850849 530 | 528,4850789 531 | 529,4850851 532 | 530,4850650 533 | 531,4847858 534 | 532,4852504 535 | 533,4846772 536 | 534,4852375 537 | 535,4847904 538 | 536,4848317 539 | 537,4851441 540 | 538,4850999 541 | 539,4849787 542 | 540,4855490 543 | 541,4597426 544 | 542,4597361 545 | 543,4593236 546 | 544,4593838 547 | 545,4595588 548 | 546,4597680 549 | 547,4345366 550 | 548,4339039 551 | 549,4338023 552 | 550,4339834 553 | 551,4341951 554 | 552,4341446 555 | 553,4092042 556 | 554,4088250 557 | 555,4091371 558 | 556,4092515 559 | 557,4092084 560 | 558,4089994 561 | 559,3842163 562 | 560,3842936 563 | 561,3846911 564 | 562,3845322 565 | 563,3838748 566 | 564,3843717 567 | 565,3601535 568 | 566,3596263 569 | 567,3597946 570 | 568,3599268 571 | 569,3597731 572 | 570,3596265 573 | 571,3357462 574 | 572,3357266 575 | 573,3357300 576 | 574,3358809 577 | 575,3354049 578 | 576,3355610 579 | 577,3118873 580 | 578,3116398 581 | 579,3115912 582 | 580,3120375 583 | 581,3113286 584 | 582,3116985 585 | 583,2881372 586 | 584,2878299 587 | 585,2877029 588 | 586,2881308 589 | 587,2877526 590 | 588,2882159 591 | 589,2646964 592 | 590,2645847 593 | 591,2647055 594 | 592,2641825 595 | 593,2646485 596 | 594,2644975 597 | 595,2410828 598 | 596,2413515 599 | 597,2410116 600 | 598,2413376 601 | 599,2413437 602 | 600,2412937 603 | 601,2182972 604 | 602,2180791 605 | 603,2181916 606 | 604,2183072 607 | 605,2183697 608 | 606,2180733 609 | 607,1954723 610 | 608,1954063 611 | 609,1956143 612 | 610,1955192 613 | 611,1954935 614 | 612,1956428 615 | 613,1729248 616 | 614,1728363 617 | 615,1728867 618 | 616,1727492 619 | 617,1728240 620 | 618,1728452 621 | 619,1505717 622 | 620,1504925 623 | 621,1507848 624 | 622,1505112 625 | 623,1506489 626 | 624,1503896 627 | 625,1284568 628 | 626,1284749 629 | 627,1285080 630 | 628,1284894 631 | 629,1284862 632 | 630,1285121 633 | 631,1066810 634 | 632,1065445 635 | 633,1066592 636 | 634,1066231 637 | 635,1063804 638 | 636,1067070 639 | 637,847290 640 | 638,846260 641 | 639,847378 642 | 640,848779 643 | 641,848216 644 | 642,847460 645 | 643,633453 646 | 644,633698 647 | 645,632839 648 | 646,634687 649 | 647,632806 650 | 648,633890 651 | 649,421057 652 | 650,420940 653 | 651,419695 654 | 652,420449 655 | 653,421270 656 | 654,419495 657 | 655,208944 658 | 656,209063 659 | 657,208844 660 | 658,208997 661 | 659,208823 662 | 660,209025 -------------------------------------------------------------------------------- /docs/weekly-highest-distribution.svg: -------------------------------------------------------------------------------- 1 | 050100150200250300350400450500550600650Price0%1%2%3%4%5%6%ProbabilityWeekly Highest Price of Turnips Histogram -------------------------------------------------------------------------------- /docs/weekly-highest-distribution.json: -------------------------------------------------------------------------------- 1 | [ 2 | { "price": 0, "frequency": 0 }, 3 | { "price": 1, "frequency": 0 }, 4 | { "price": 2, "frequency": 0 }, 5 | { "price": 3, "frequency": 0 }, 6 | { "price": 4, "frequency": 0 }, 7 | { "price": 5, "frequency": 0 }, 8 | { "price": 6, "frequency": 0 }, 9 | { "price": 7, "frequency": 0 }, 10 | { "price": 8, "frequency": 0 }, 11 | { "price": 9, "frequency": 0 }, 12 | { "price": 10, "frequency": 0 }, 13 | { "price": 11, "frequency": 0 }, 14 | { "price": 12, "frequency": 0 }, 15 | { "price": 13, "frequency": 0 }, 16 | { "price": 14, "frequency": 0 }, 17 | { "price": 15, "frequency": 0 }, 18 | { "price": 16, "frequency": 0 }, 19 | { "price": 17, "frequency": 0 }, 20 | { "price": 18, "frequency": 0 }, 21 | { "price": 19, "frequency": 0 }, 22 | { "price": 20, "frequency": 0 }, 23 | { "price": 21, "frequency": 0 }, 24 | { "price": 22, "frequency": 0 }, 25 | { "price": 23, "frequency": 0 }, 26 | { "price": 24, "frequency": 0 }, 27 | { "price": 25, "frequency": 0 }, 28 | { "price": 26, "frequency": 0 }, 29 | { "price": 27, "frequency": 0 }, 30 | { "price": 28, "frequency": 0 }, 31 | { "price": 29, "frequency": 0 }, 32 | { "price": 30, "frequency": 0 }, 33 | { "price": 31, "frequency": 0 }, 34 | { "price": 32, "frequency": 0 }, 35 | { "price": 33, "frequency": 0 }, 36 | { "price": 34, "frequency": 0 }, 37 | { "price": 35, "frequency": 0 }, 38 | { "price": 36, "frequency": 0 }, 39 | { "price": 37, "frequency": 0 }, 40 | { "price": 38, "frequency": 0 }, 41 | { "price": 39, "frequency": 0 }, 42 | { "price": 40, "frequency": 0 }, 43 | { "price": 41, "frequency": 0 }, 44 | { "price": 42, "frequency": 0 }, 45 | { "price": 43, "frequency": 0 }, 46 | { "price": 44, "frequency": 0 }, 47 | { "price": 45, "frequency": 0 }, 48 | { "price": 46, "frequency": 0 }, 49 | { "price": 47, "frequency": 0 }, 50 | { "price": 48, "frequency": 0 }, 51 | { "price": 49, "frequency": 0 }, 52 | { "price": 50, "frequency": 0 }, 53 | { "price": 51, "frequency": 0 }, 54 | { "price": 52, "frequency": 0 }, 55 | { "price": 53, "frequency": 0 }, 56 | { "price": 54, "frequency": 0 }, 57 | { "price": 55, "frequency": 0 }, 58 | { "price": 56, "frequency": 0 }, 59 | { "price": 57, "frequency": 0 }, 60 | { "price": 58, "frequency": 0 }, 61 | { "price": 59, "frequency": 0 }, 62 | { "price": 60, "frequency": 0 }, 63 | { "price": 61, "frequency": 0 }, 64 | { "price": 62, "frequency": 0 }, 65 | { "price": 63, "frequency": 0 }, 66 | { "price": 64, "frequency": 0 }, 67 | { "price": 65, "frequency": 0 }, 68 | { "price": 66, "frequency": 0 }, 69 | { "price": 67, "frequency": 0 }, 70 | { "price": 68, "frequency": 0 }, 71 | { "price": 69, "frequency": 0 }, 72 | { "price": 70, "frequency": 0 }, 73 | { "price": 71, "frequency": 0 }, 74 | { "price": 72, "frequency": 0 }, 75 | { "price": 73, "frequency": 0 }, 76 | { "price": 74, "frequency": 0 }, 77 | { "price": 75, "frequency": 0 }, 78 | { "price": 76, "frequency": 0 }, 79 | { "price": 77, "frequency": 4544654 }, 80 | { "price": 78, "frequency": 14930594 }, 81 | { "price": 79, "frequency": 25194715 }, 82 | { "price": 80, "frequency": 36201827 }, 83 | { "price": 81, "frequency": 46621236 }, 84 | { "price": 82, "frequency": 46510507 }, 85 | { "price": 83, "frequency": 46380273 }, 86 | { "price": 84, "frequency": 46266966 }, 87 | { "price": 85, "frequency": 46169225 }, 88 | { "price": 86, "frequency": 47268210 }, 89 | { "price": 87, "frequency": 47136601 }, 90 | { "price": 88, "frequency": 47017488 }, 91 | { "price": 89, "frequency": 46900051 }, 92 | { "price": 90, "frequency": 46775451 }, 93 | { "price": 91, "frequency": 46246983 }, 94 | { "price": 92, "frequency": 46899726 }, 95 | { "price": 93, "frequency": 46795760 }, 96 | { "price": 94, "frequency": 46693179 }, 97 | { "price": 95, "frequency": 41806728 }, 98 | { "price": 96, "frequency": 33292643 }, 99 | { "price": 97, "frequency": 24879914 }, 100 | { "price": 98, "frequency": 16563109 }, 101 | { "price": 99, "frequency": 8348445 }, 102 | { "price": 100, "frequency": 230096 }, 103 | { "price": 101, "frequency": 327110 }, 104 | { "price": 102, "frequency": 455587 }, 105 | { "price": 103, "frequency": 625705 }, 106 | { "price": 104, "frequency": 847520 }, 107 | { "price": 105, "frequency": 1133066 }, 108 | { "price": 106, "frequency": 1495772 }, 109 | { "price": 107, "frequency": 1953643 }, 110 | { "price": 108, "frequency": 2526343 }, 111 | { "price": 109, "frequency": 3228408 }, 112 | { "price": 110, "frequency": 4097035 }, 113 | { "price": 111, "frequency": 5151422 }, 114 | { "price": 112, "frequency": 6432237 }, 115 | { "price": 113, "frequency": 7972882 }, 116 | { "price": 114, "frequency": 9811982 }, 117 | { "price": 115, "frequency": 11999222 }, 118 | { "price": 116, "frequency": 14581195 }, 119 | { "price": 117, "frequency": 17617788 }, 120 | { "price": 118, "frequency": 21182890 }, 121 | { "price": 119, "frequency": 25337572 }, 122 | { "price": 120, "frequency": 30150777 }, 123 | { "price": 121, "frequency": 35704073 }, 124 | { "price": 122, "frequency": 42117577 }, 125 | { "price": 123, "frequency": 49477812 }, 126 | { "price": 124, "frequency": 57878970 }, 127 | { "price": 125, "frequency": 67479753 }, 128 | { "price": 126, "frequency": 78363752 }, 129 | { "price": 127, "frequency": 74645148 }, 130 | { "price": 128, "frequency": 76909703 }, 131 | { "price": 129, "frequency": 79020506 }, 132 | { "price": 130, "frequency": 78075742 }, 133 | { "price": 131, "frequency": 77237952 }, 134 | { "price": 132, "frequency": 79212770 }, 135 | { "price": 133, "frequency": 80947767 }, 136 | { "price": 134, "frequency": 76988759 }, 137 | { "price": 135, "frequency": 78675068 }, 138 | { "price": 136, "frequency": 80117023 }, 139 | { "price": 137, "frequency": 78613768 }, 140 | { "price": 138, "frequency": 77082585 }, 141 | { "price": 139, "frequency": 78118646 }, 142 | { "price": 140, "frequency": 78815687 }, 143 | { "price": 141, "frequency": 73967064 }, 144 | { "price": 142, "frequency": 74354607 }, 145 | { "price": 143, "frequency": 74327937 }, 146 | { "price": 144, "frequency": 71316142 }, 147 | { "price": 145, "frequency": 68144120 }, 148 | { "price": 146, "frequency": 67116081 }, 149 | { "price": 147, "frequency": 65602632 }, 150 | { "price": 148, "frequency": 58572811 }, 151 | { "price": 149, "frequency": 56233950 }, 152 | { "price": 150, "frequency": 53206787 }, 153 | { "price": 151, "frequency": 47030441 }, 154 | { "price": 152, "frequency": 40345828 }, 155 | { "price": 153, "frequency": 35378983 }, 156 | { "price": 154, "frequency": 29512142 }, 157 | { "price": 155, "frequency": 25155910 }, 158 | { "price": 156, "frequency": 25156841 }, 159 | { "price": 157, "frequency": 25137086 }, 160 | { "price": 158, "frequency": 25150628 }, 161 | { "price": 159, "frequency": 25140270 }, 162 | { "price": 160, "frequency": 25141709 }, 163 | { "price": 161, "frequency": 25156192 }, 164 | { "price": 162, "frequency": 25144528 }, 165 | { "price": 163, "frequency": 25141541 }, 166 | { "price": 164, "frequency": 25145815 }, 167 | { "price": 165, "frequency": 25153235 }, 168 | { "price": 166, "frequency": 25151606 }, 169 | { "price": 167, "frequency": 25151403 }, 170 | { "price": 168, "frequency": 25141821 }, 171 | { "price": 169, "frequency": 25145261 }, 172 | { "price": 170, "frequency": 25148553 }, 173 | { "price": 171, "frequency": 25147741 }, 174 | { "price": 172, "frequency": 25151376 }, 175 | { "price": 173, "frequency": 25157034 }, 176 | { "price": 174, "frequency": 25149189 }, 177 | { "price": 175, "frequency": 25145673 }, 178 | { "price": 176, "frequency": 25154512 }, 179 | { "price": 177, "frequency": 25143066 }, 180 | { "price": 178, "frequency": 25140134 }, 181 | { "price": 179, "frequency": 25146503 }, 182 | { "price": 180, "frequency": 25140476 }, 183 | { "price": 181, "frequency": 23992928 }, 184 | { "price": 182, "frequency": 23989984 }, 185 | { "price": 183, "frequency": 22845510 }, 186 | { "price": 184, "frequency": 22855635 }, 187 | { "price": 185, "frequency": 21721563 }, 188 | { "price": 186, "frequency": 21717640 }, 189 | { "price": 187, "frequency": 20593434 }, 190 | { "price": 188, "frequency": 20593481 }, 191 | { "price": 189, "frequency": 19495849 }, 192 | { "price": 190, "frequency": 19493449 }, 193 | { "price": 191, "frequency": 18405512 }, 194 | { "price": 192, "frequency": 18394895 }, 195 | { "price": 193, "frequency": 17327162 }, 196 | { "price": 194, "frequency": 17311398 }, 197 | { "price": 195, "frequency": 16244026 }, 198 | { "price": 196, "frequency": 16244188 }, 199 | { "price": 197, "frequency": 15181294 }, 200 | { "price": 198, "frequency": 15183228 }, 201 | { "price": 199, "frequency": 14125883 }, 202 | { "price": 200, "frequency": 14130054 }, 203 | { "price": 201, "frequency": 13088384 }, 204 | { "price": 202, "frequency": 13098585 }, 205 | { "price": 203, "frequency": 12058343 }, 206 | { "price": 204, "frequency": 12070140 }, 207 | { "price": 205, "frequency": 11049399 }, 208 | { "price": 206, "frequency": 11044090 }, 209 | { "price": 207, "frequency": 10034734 }, 210 | { "price": 208, "frequency": 10043204 }, 211 | { "price": 209, "frequency": 9035173 }, 212 | { "price": 210, "frequency": 9038814 }, 213 | { "price": 211, "frequency": 8050268 }, 214 | { "price": 212, "frequency": 8049033 }, 215 | { "price": 213, "frequency": 7142076 }, 216 | { "price": 214, "frequency": 7143988 }, 217 | { "price": 215, "frequency": 6561721 }, 218 | { "price": 216, "frequency": 6558320 }, 219 | { "price": 217, "frequency": 5983024 }, 220 | { "price": 218, "frequency": 5991099 }, 221 | { "price": 219, "frequency": 5416527 }, 222 | { "price": 220, "frequency": 5413343 }, 223 | { "price": 221, "frequency": 4851788 }, 224 | { "price": 222, "frequency": 4848196 }, 225 | { "price": 223, "frequency": 4851173 }, 226 | { "price": 224, "frequency": 4845268 }, 227 | { "price": 225, "frequency": 4849413 }, 228 | { "price": 226, "frequency": 4849344 }, 229 | { "price": 227, "frequency": 4849557 }, 230 | { "price": 228, "frequency": 4844774 }, 231 | { "price": 229, "frequency": 4853741 }, 232 | { "price": 230, "frequency": 4849589 }, 233 | { "price": 231, "frequency": 4848499 }, 234 | { "price": 232, "frequency": 4852490 }, 235 | { "price": 233, "frequency": 4853153 }, 236 | { "price": 234, "frequency": 4848290 }, 237 | { "price": 235, "frequency": 4851987 }, 238 | { "price": 236, "frequency": 4849048 }, 239 | { "price": 237, "frequency": 4849730 }, 240 | { "price": 238, "frequency": 4848084 }, 241 | { "price": 239, "frequency": 4850303 }, 242 | { "price": 240, "frequency": 4846743 }, 243 | { "price": 241, "frequency": 4849459 }, 244 | { "price": 242, "frequency": 4847017 }, 245 | { "price": 243, "frequency": 4849875 }, 246 | { "price": 244, "frequency": 4848568 }, 247 | { "price": 245, "frequency": 4849527 }, 248 | { "price": 246, "frequency": 4849174 }, 249 | { "price": 247, "frequency": 4852424 }, 250 | { "price": 248, "frequency": 4850653 }, 251 | { "price": 249, "frequency": 4849376 }, 252 | { "price": 250, "frequency": 4843522 }, 253 | { "price": 251, "frequency": 4850308 }, 254 | { "price": 252, "frequency": 4847846 }, 255 | { "price": 253, "frequency": 4848140 }, 256 | { "price": 254, "frequency": 4848330 }, 257 | { "price": 255, "frequency": 4849753 }, 258 | { "price": 256, "frequency": 4847751 }, 259 | { "price": 257, "frequency": 4852699 }, 260 | { "price": 258, "frequency": 4850252 }, 261 | { "price": 259, "frequency": 4852926 }, 262 | { "price": 260, "frequency": 4852378 }, 263 | { "price": 261, "frequency": 4848817 }, 264 | { "price": 262, "frequency": 4849185 }, 265 | { "price": 263, "frequency": 4849022 }, 266 | { "price": 264, "frequency": 4851008 }, 267 | { "price": 265, "frequency": 4847415 }, 268 | { "price": 266, "frequency": 4849290 }, 269 | { "price": 267, "frequency": 4851737 }, 270 | { "price": 268, "frequency": 4845636 }, 271 | { "price": 269, "frequency": 4850853 }, 272 | { "price": 270, "frequency": 4851290 }, 273 | { "price": 271, "frequency": 4848148 }, 274 | { "price": 272, "frequency": 4847283 }, 275 | { "price": 273, "frequency": 4850157 }, 276 | { "price": 274, "frequency": 4850756 }, 277 | { "price": 275, "frequency": 4849286 }, 278 | { "price": 276, "frequency": 4847459 }, 279 | { "price": 277, "frequency": 4848202 }, 280 | { "price": 278, "frequency": 4852102 }, 281 | { "price": 279, "frequency": 4853402 }, 282 | { "price": 280, "frequency": 4847697 }, 283 | { "price": 281, "frequency": 4851044 }, 284 | { "price": 282, "frequency": 4848661 }, 285 | { "price": 283, "frequency": 4849314 }, 286 | { "price": 284, "frequency": 4853347 }, 287 | { "price": 285, "frequency": 4847862 }, 288 | { "price": 286, "frequency": 4853055 }, 289 | { "price": 287, "frequency": 4849236 }, 290 | { "price": 288, "frequency": 4851405 }, 291 | { "price": 289, "frequency": 4847969 }, 292 | { "price": 290, "frequency": 4850818 }, 293 | { "price": 291, "frequency": 4850848 }, 294 | { "price": 292, "frequency": 4847749 }, 295 | { "price": 293, "frequency": 4850034 }, 296 | { "price": 294, "frequency": 4849835 }, 297 | { "price": 295, "frequency": 4851164 }, 298 | { "price": 296, "frequency": 4846275 }, 299 | { "price": 297, "frequency": 4847010 }, 300 | { "price": 298, "frequency": 4851862 }, 301 | { "price": 299, "frequency": 4848703 }, 302 | { "price": 300, "frequency": 4852243 }, 303 | { "price": 301, "frequency": 4850086 }, 304 | { "price": 302, "frequency": 4850131 }, 305 | { "price": 303, "frequency": 4847124 }, 306 | { "price": 304, "frequency": 4847157 }, 307 | { "price": 305, "frequency": 4851365 }, 308 | { "price": 306, "frequency": 4846857 }, 309 | { "price": 307, "frequency": 4848956 }, 310 | { "price": 308, "frequency": 4851185 }, 311 | { "price": 309, "frequency": 4850216 }, 312 | { "price": 310, "frequency": 4848565 }, 313 | { "price": 311, "frequency": 4854054 }, 314 | { "price": 312, "frequency": 4847445 }, 315 | { "price": 313, "frequency": 4849193 }, 316 | { "price": 314, "frequency": 4846086 }, 317 | { "price": 315, "frequency": 4851219 }, 318 | { "price": 316, "frequency": 4850439 }, 319 | { "price": 317, "frequency": 4851131 }, 320 | { "price": 318, "frequency": 4847503 }, 321 | { "price": 319, "frequency": 4850584 }, 322 | { "price": 320, "frequency": 4850664 }, 323 | { "price": 321, "frequency": 4845825 }, 324 | { "price": 322, "frequency": 4849564 }, 325 | { "price": 323, "frequency": 4849342 }, 326 | { "price": 324, "frequency": 4854273 }, 327 | { "price": 325, "frequency": 4849107 }, 328 | { "price": 326, "frequency": 4850809 }, 329 | { "price": 327, "frequency": 4853079 }, 330 | { "price": 328, "frequency": 4848916 }, 331 | { "price": 329, "frequency": 4846608 }, 332 | { "price": 330, "frequency": 4844671 }, 333 | { "price": 331, "frequency": 4849820 }, 334 | { "price": 332, "frequency": 4848415 }, 335 | { "price": 333, "frequency": 4848486 }, 336 | { "price": 334, "frequency": 4850739 }, 337 | { "price": 335, "frequency": 4852018 }, 338 | { "price": 336, "frequency": 4850263 }, 339 | { "price": 337, "frequency": 4849762 }, 340 | { "price": 338, "frequency": 4850747 }, 341 | { "price": 339, "frequency": 4850198 }, 342 | { "price": 340, "frequency": 4845467 }, 343 | { "price": 341, "frequency": 4850532 }, 344 | { "price": 342, "frequency": 4846428 }, 345 | { "price": 343, "frequency": 4849270 }, 346 | { "price": 344, "frequency": 4850715 }, 347 | { "price": 345, "frequency": 4849121 }, 348 | { "price": 346, "frequency": 4851551 }, 349 | { "price": 347, "frequency": 4850589 }, 350 | { "price": 348, "frequency": 4844481 }, 351 | { "price": 349, "frequency": 4848923 }, 352 | { "price": 350, "frequency": 4852833 }, 353 | { "price": 351, "frequency": 4850464 }, 354 | { "price": 352, "frequency": 4848728 }, 355 | { "price": 353, "frequency": 4850013 }, 356 | { "price": 354, "frequency": 4848563 }, 357 | { "price": 355, "frequency": 4850664 }, 358 | { "price": 356, "frequency": 4851976 }, 359 | { "price": 357, "frequency": 4849239 }, 360 | { "price": 358, "frequency": 4848622 }, 361 | { "price": 359, "frequency": 4850519 }, 362 | { "price": 360, "frequency": 4849810 }, 363 | { "price": 361, "frequency": 4847440 }, 364 | { "price": 362, "frequency": 4849497 }, 365 | { "price": 363, "frequency": 4850294 }, 366 | { "price": 364, "frequency": 4846272 }, 367 | { "price": 365, "frequency": 4846236 }, 368 | { "price": 366, "frequency": 4848012 }, 369 | { "price": 367, "frequency": 4852485 }, 370 | { "price": 368, "frequency": 4846784 }, 371 | { "price": 369, "frequency": 4847065 }, 372 | { "price": 370, "frequency": 4850520 }, 373 | { "price": 371, "frequency": 4853444 }, 374 | { "price": 372, "frequency": 4850545 }, 375 | { "price": 373, "frequency": 4850548 }, 376 | { "price": 374, "frequency": 4847264 }, 377 | { "price": 375, "frequency": 4848218 }, 378 | { "price": 376, "frequency": 4854361 }, 379 | { "price": 377, "frequency": 4853940 }, 380 | { "price": 378, "frequency": 4848295 }, 381 | { "price": 379, "frequency": 4849853 }, 382 | { "price": 380, "frequency": 4851042 }, 383 | { "price": 381, "frequency": 4848029 }, 384 | { "price": 382, "frequency": 4849681 }, 385 | { "price": 383, "frequency": 4850669 }, 386 | { "price": 384, "frequency": 4846498 }, 387 | { "price": 385, "frequency": 4846182 }, 388 | { "price": 386, "frequency": 4853666 }, 389 | { "price": 387, "frequency": 4850034 }, 390 | { "price": 388, "frequency": 4852980 }, 391 | { "price": 389, "frequency": 4852577 }, 392 | { "price": 390, "frequency": 4850077 }, 393 | { "price": 391, "frequency": 4847802 }, 394 | { "price": 392, "frequency": 4852898 }, 395 | { "price": 393, "frequency": 4851856 }, 396 | { "price": 394, "frequency": 4847183 }, 397 | { "price": 395, "frequency": 4854414 }, 398 | { "price": 396, "frequency": 4849270 }, 399 | { "price": 397, "frequency": 4848187 }, 400 | { "price": 398, "frequency": 4850543 }, 401 | { "price": 399, "frequency": 4851218 }, 402 | { "price": 400, "frequency": 4851943 }, 403 | { "price": 401, "frequency": 4852172 }, 404 | { "price": 402, "frequency": 4849372 }, 405 | { "price": 403, "frequency": 4847417 }, 406 | { "price": 404, "frequency": 4847882 }, 407 | { "price": 405, "frequency": 4848108 }, 408 | { "price": 406, "frequency": 4848984 }, 409 | { "price": 407, "frequency": 4845640 }, 410 | { "price": 408, "frequency": 4850532 }, 411 | { "price": 409, "frequency": 4849776 }, 412 | { "price": 410, "frequency": 4848716 }, 413 | { "price": 411, "frequency": 4847436 }, 414 | { "price": 412, "frequency": 4846050 }, 415 | { "price": 413, "frequency": 4851554 }, 416 | { "price": 414, "frequency": 4849971 }, 417 | { "price": 415, "frequency": 4848575 }, 418 | { "price": 416, "frequency": 4852435 }, 419 | { "price": 417, "frequency": 4851679 }, 420 | { "price": 418, "frequency": 4850242 }, 421 | { "price": 419, "frequency": 4847137 }, 422 | { "price": 420, "frequency": 4851061 }, 423 | { "price": 421, "frequency": 4851648 }, 424 | { "price": 422, "frequency": 4851045 }, 425 | { "price": 423, "frequency": 4852331 }, 426 | { "price": 424, "frequency": 4850457 }, 427 | { "price": 425, "frequency": 4850204 }, 428 | { "price": 426, "frequency": 4846947 }, 429 | { "price": 427, "frequency": 4848439 }, 430 | { "price": 428, "frequency": 4852552 }, 431 | { "price": 429, "frequency": 4847873 }, 432 | { "price": 430, "frequency": 4852333 }, 433 | { "price": 431, "frequency": 4848492 }, 434 | { "price": 432, "frequency": 4847092 }, 435 | { "price": 433, "frequency": 4849250 }, 436 | { "price": 434, "frequency": 4848101 }, 437 | { "price": 435, "frequency": 4849433 }, 438 | { "price": 436, "frequency": 4847369 }, 439 | { "price": 437, "frequency": 4851737 }, 440 | { "price": 438, "frequency": 4845168 }, 441 | { "price": 439, "frequency": 4847728 }, 442 | { "price": 440, "frequency": 4847804 }, 443 | { "price": 441, "frequency": 4849886 }, 444 | { "price": 442, "frequency": 4849153 }, 445 | { "price": 443, "frequency": 4849567 }, 446 | { "price": 444, "frequency": 4851485 }, 447 | { "price": 445, "frequency": 4851368 }, 448 | { "price": 446, "frequency": 4850433 }, 449 | { "price": 447, "frequency": 4850935 }, 450 | { "price": 448, "frequency": 4849314 }, 451 | { "price": 449, "frequency": 4850140 }, 452 | { "price": 450, "frequency": 4848668 }, 453 | { "price": 451, "frequency": 4844662 }, 454 | { "price": 452, "frequency": 4849841 }, 455 | { "price": 453, "frequency": 4851117 }, 456 | { "price": 454, "frequency": 4848920 }, 457 | { "price": 455, "frequency": 4849194 }, 458 | { "price": 456, "frequency": 4849590 }, 459 | { "price": 457, "frequency": 4851030 }, 460 | { "price": 458, "frequency": 4852276 }, 461 | { "price": 459, "frequency": 4846554 }, 462 | { "price": 460, "frequency": 4847539 }, 463 | { "price": 461, "frequency": 4851823 }, 464 | { "price": 462, "frequency": 4852028 }, 465 | { "price": 463, "frequency": 4847507 }, 466 | { "price": 464, "frequency": 4846945 }, 467 | { "price": 465, "frequency": 4853979 }, 468 | { "price": 466, "frequency": 4849800 }, 469 | { "price": 467, "frequency": 4851673 }, 470 | { "price": 468, "frequency": 4849132 }, 471 | { "price": 469, "frequency": 4849172 }, 472 | { "price": 470, "frequency": 4847470 }, 473 | { "price": 471, "frequency": 4850080 }, 474 | { "price": 472, "frequency": 4848940 }, 475 | { "price": 473, "frequency": 4848159 }, 476 | { "price": 474, "frequency": 4851327 }, 477 | { "price": 475, "frequency": 4847625 }, 478 | { "price": 476, "frequency": 4847190 }, 479 | { "price": 477, "frequency": 4852833 }, 480 | { "price": 478, "frequency": 4846295 }, 481 | { "price": 479, "frequency": 4847497 }, 482 | { "price": 480, "frequency": 4848508 }, 483 | { "price": 481, "frequency": 4849019 }, 484 | { "price": 482, "frequency": 4850699 }, 485 | { "price": 483, "frequency": 4850774 }, 486 | { "price": 484, "frequency": 4850494 }, 487 | { "price": 485, "frequency": 4852253 }, 488 | { "price": 486, "frequency": 4849248 }, 489 | { "price": 487, "frequency": 4848660 }, 490 | { "price": 488, "frequency": 4851922 }, 491 | { "price": 489, "frequency": 4850298 }, 492 | { "price": 490, "frequency": 4850110 }, 493 | { "price": 491, "frequency": 4847233 }, 494 | { "price": 492, "frequency": 4852170 }, 495 | { "price": 493, "frequency": 4850982 }, 496 | { "price": 494, "frequency": 4851291 }, 497 | { "price": 495, "frequency": 4851078 }, 498 | { "price": 496, "frequency": 4848443 }, 499 | { "price": 497, "frequency": 4849124 }, 500 | { "price": 498, "frequency": 4850912 }, 501 | { "price": 499, "frequency": 4848357 }, 502 | { "price": 500, "frequency": 4849514 }, 503 | { "price": 501, "frequency": 4849414 }, 504 | { "price": 502, "frequency": 4854112 }, 505 | { "price": 503, "frequency": 4849096 }, 506 | { "price": 504, "frequency": 4848774 }, 507 | { "price": 505, "frequency": 4848375 }, 508 | { "price": 506, "frequency": 4850885 }, 509 | { "price": 507, "frequency": 4852527 }, 510 | { "price": 508, "frequency": 4849960 }, 511 | { "price": 509, "frequency": 4853302 }, 512 | { "price": 510, "frequency": 4851113 }, 513 | { "price": 511, "frequency": 4849139 }, 514 | { "price": 512, "frequency": 4850578 }, 515 | { "price": 513, "frequency": 4849210 }, 516 | { "price": 514, "frequency": 4852364 }, 517 | { "price": 515, "frequency": 4846926 }, 518 | { "price": 516, "frequency": 4849814 }, 519 | { "price": 517, "frequency": 4849340 }, 520 | { "price": 518, "frequency": 4850222 }, 521 | { "price": 519, "frequency": 4852794 }, 522 | { "price": 520, "frequency": 4846586 }, 523 | { "price": 521, "frequency": 4849224 }, 524 | { "price": 522, "frequency": 4848341 }, 525 | { "price": 523, "frequency": 4852037 }, 526 | { "price": 524, "frequency": 4845823 }, 527 | { "price": 525, "frequency": 4850187 }, 528 | { "price": 526, "frequency": 4849088 }, 529 | { "price": 527, "frequency": 4850849 }, 530 | { "price": 528, "frequency": 4850789 }, 531 | { "price": 529, "frequency": 4850851 }, 532 | { "price": 530, "frequency": 4850650 }, 533 | { "price": 531, "frequency": 4847858 }, 534 | { "price": 532, "frequency": 4852504 }, 535 | { "price": 533, "frequency": 4846772 }, 536 | { "price": 534, "frequency": 4852375 }, 537 | { "price": 535, "frequency": 4847904 }, 538 | { "price": 536, "frequency": 4848317 }, 539 | { "price": 537, "frequency": 4851441 }, 540 | { "price": 538, "frequency": 4850999 }, 541 | { "price": 539, "frequency": 4849787 }, 542 | { "price": 540, "frequency": 4855490 }, 543 | { "price": 541, "frequency": 4597426 }, 544 | { "price": 542, "frequency": 4597361 }, 545 | { "price": 543, "frequency": 4593236 }, 546 | { "price": 544, "frequency": 4593838 }, 547 | { "price": 545, "frequency": 4595588 }, 548 | { "price": 546, "frequency": 4597680 }, 549 | { "price": 547, "frequency": 4345366 }, 550 | { "price": 548, "frequency": 4339039 }, 551 | { "price": 549, "frequency": 4338023 }, 552 | { "price": 550, "frequency": 4339834 }, 553 | { "price": 551, "frequency": 4341951 }, 554 | { "price": 552, "frequency": 4341446 }, 555 | { "price": 553, "frequency": 4092042 }, 556 | { "price": 554, "frequency": 4088250 }, 557 | { "price": 555, "frequency": 4091371 }, 558 | { "price": 556, "frequency": 4092515 }, 559 | { "price": 557, "frequency": 4092084 }, 560 | { "price": 558, "frequency": 4089994 }, 561 | { "price": 559, "frequency": 3842163 }, 562 | { "price": 560, "frequency": 3842936 }, 563 | { "price": 561, "frequency": 3846911 }, 564 | { "price": 562, "frequency": 3845322 }, 565 | { "price": 563, "frequency": 3838748 }, 566 | { "price": 564, "frequency": 3843717 }, 567 | { "price": 565, "frequency": 3601535 }, 568 | { "price": 566, "frequency": 3596263 }, 569 | { "price": 567, "frequency": 3597946 }, 570 | { "price": 568, "frequency": 3599268 }, 571 | { "price": 569, "frequency": 3597731 }, 572 | { "price": 570, "frequency": 3596265 }, 573 | { "price": 571, "frequency": 3357462 }, 574 | { "price": 572, "frequency": 3357266 }, 575 | { "price": 573, "frequency": 3357300 }, 576 | { "price": 574, "frequency": 3358809 }, 577 | { "price": 575, "frequency": 3354049 }, 578 | { "price": 576, "frequency": 3355610 }, 579 | { "price": 577, "frequency": 3118873 }, 580 | { "price": 578, "frequency": 3116398 }, 581 | { "price": 579, "frequency": 3115912 }, 582 | { "price": 580, "frequency": 3120375 }, 583 | { "price": 581, "frequency": 3113286 }, 584 | { "price": 582, "frequency": 3116985 }, 585 | { "price": 583, "frequency": 2881372 }, 586 | { "price": 584, "frequency": 2878299 }, 587 | { "price": 585, "frequency": 2877029 }, 588 | { "price": 586, "frequency": 2881308 }, 589 | { "price": 587, "frequency": 2877526 }, 590 | { "price": 588, "frequency": 2882159 }, 591 | { "price": 589, "frequency": 2646964 }, 592 | { "price": 590, "frequency": 2645847 }, 593 | { "price": 591, "frequency": 2647055 }, 594 | { "price": 592, "frequency": 2641825 }, 595 | { "price": 593, "frequency": 2646485 }, 596 | { "price": 594, "frequency": 2644975 }, 597 | { "price": 595, "frequency": 2410828 }, 598 | { "price": 596, "frequency": 2413515 }, 599 | { "price": 597, "frequency": 2410116 }, 600 | { "price": 598, "frequency": 2413376 }, 601 | { "price": 599, "frequency": 2413437 }, 602 | { "price": 600, "frequency": 2412937 }, 603 | { "price": 601, "frequency": 2182972 }, 604 | { "price": 602, "frequency": 2180791 }, 605 | { "price": 603, "frequency": 2181916 }, 606 | { "price": 604, "frequency": 2183072 }, 607 | { "price": 605, "frequency": 2183697 }, 608 | { "price": 606, "frequency": 2180733 }, 609 | { "price": 607, "frequency": 1954723 }, 610 | { "price": 608, "frequency": 1954063 }, 611 | { "price": 609, "frequency": 1956143 }, 612 | { "price": 610, "frequency": 1955192 }, 613 | { "price": 611, "frequency": 1954935 }, 614 | { "price": 612, "frequency": 1956428 }, 615 | { "price": 613, "frequency": 1729248 }, 616 | { "price": 614, "frequency": 1728363 }, 617 | { "price": 615, "frequency": 1728867 }, 618 | { "price": 616, "frequency": 1727492 }, 619 | { "price": 617, "frequency": 1728240 }, 620 | { "price": 618, "frequency": 1728452 }, 621 | { "price": 619, "frequency": 1505717 }, 622 | { "price": 620, "frequency": 1504925 }, 623 | { "price": 621, "frequency": 1507848 }, 624 | { "price": 622, "frequency": 1505112 }, 625 | { "price": 623, "frequency": 1506489 }, 626 | { "price": 624, "frequency": 1503896 }, 627 | { "price": 625, "frequency": 1284568 }, 628 | { "price": 626, "frequency": 1284749 }, 629 | { "price": 627, "frequency": 1285080 }, 630 | { "price": 628, "frequency": 1284894 }, 631 | { "price": 629, "frequency": 1284862 }, 632 | { "price": 630, "frequency": 1285121 }, 633 | { "price": 631, "frequency": 1066810 }, 634 | { "price": 632, "frequency": 1065445 }, 635 | { "price": 633, "frequency": 1066592 }, 636 | { "price": 634, "frequency": 1066231 }, 637 | { "price": 635, "frequency": 1063804 }, 638 | { "price": 636, "frequency": 1067070 }, 639 | { "price": 637, "frequency": 847290 }, 640 | { "price": 638, "frequency": 846260 }, 641 | { "price": 639, "frequency": 847378 }, 642 | { "price": 640, "frequency": 848779 }, 643 | { "price": 641, "frequency": 848216 }, 644 | { "price": 642, "frequency": 847460 }, 645 | { "price": 643, "frequency": 633453 }, 646 | { "price": 644, "frequency": 633698 }, 647 | { "price": 645, "frequency": 632839 }, 648 | { "price": 646, "frequency": 634687 }, 649 | { "price": 647, "frequency": 632806 }, 650 | { "price": 648, "frequency": 633890 }, 651 | { "price": 649, "frequency": 421057 }, 652 | { "price": 650, "frequency": 420940 }, 653 | { "price": 651, "frequency": 419695 }, 654 | { "price": 652, "frequency": 420449 }, 655 | { "price": 653, "frequency": 421270 }, 656 | { "price": 654, "frequency": 419495 }, 657 | { "price": 655, "frequency": 208944 }, 658 | { "price": 656, "frequency": 209063 }, 659 | { "price": 657, "frequency": 208844 }, 660 | { "price": 658, "frequency": 208997 }, 661 | { "price": 659, "frequency": 208823 }, 662 | { "price": 660, "frequency": 209025 } 663 | ] -------------------------------------------------------------------------------- /docs/weekly-highest-distribution.vl.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://vega.github.io/schema/vega-lite/v4.json", 3 | "width": 600, 4 | "height": 200, 5 | "mark": {"type": "bar", "tooltip": true}, 6 | "transform": [ 7 | {"bin": {"step": 5}, "field": "price", "as": "binnedPrice"}, 8 | { 9 | "aggregate": [{"op": "sum", "field": "frequency", "as": "count"}], 10 | "groupby": ["binnedPrice", "binnedPrice_end"] 11 | }, 12 | {"joinaggregate": [{"op": "sum", "field": "count", "as": "totalCount"}]}, 13 | {"calculate": "datum.count / datum.totalCount", "as": "percentage"} 14 | ], 15 | "title": "Weekly Highest Price of Turnips Histogram", 16 | "encoding": { 17 | "x": { 18 | "title": "Price", 19 | "field": "binnedPrice", 20 | "type": "quantitative", 21 | "bin": {"binned": true} 22 | }, 23 | "x2": {"field": "binnedPrice_end"}, 24 | "y": { 25 | "title": "Probability", 26 | "field": "percentage", 27 | "type": "quantitative", 28 | "axis": {"format": ".1~%"} 29 | } 30 | }, 31 | "data": { 32 | "values": [ 33 | {"price": 0, "frequency": 0}, 34 | {"price": 1, "frequency": 0}, 35 | {"price": 2, "frequency": 0}, 36 | {"price": 3, "frequency": 0}, 37 | {"price": 4, "frequency": 0}, 38 | {"price": 5, "frequency": 0}, 39 | {"price": 6, "frequency": 0}, 40 | {"price": 7, "frequency": 0}, 41 | {"price": 8, "frequency": 0}, 42 | {"price": 9, "frequency": 0}, 43 | {"price": 10, "frequency": 0}, 44 | {"price": 11, "frequency": 0}, 45 | {"price": 12, "frequency": 0}, 46 | {"price": 13, "frequency": 0}, 47 | {"price": 14, "frequency": 0}, 48 | {"price": 15, "frequency": 0}, 49 | {"price": 16, "frequency": 0}, 50 | {"price": 17, "frequency": 0}, 51 | {"price": 18, "frequency": 0}, 52 | {"price": 19, "frequency": 0}, 53 | {"price": 20, "frequency": 0}, 54 | {"price": 21, "frequency": 0}, 55 | {"price": 22, "frequency": 0}, 56 | {"price": 23, "frequency": 0}, 57 | {"price": 24, "frequency": 0}, 58 | {"price": 25, "frequency": 0}, 59 | {"price": 26, "frequency": 0}, 60 | {"price": 27, "frequency": 0}, 61 | {"price": 28, "frequency": 0}, 62 | {"price": 29, "frequency": 0}, 63 | {"price": 30, "frequency": 0}, 64 | {"price": 31, "frequency": 0}, 65 | {"price": 32, "frequency": 0}, 66 | {"price": 33, "frequency": 0}, 67 | {"price": 34, "frequency": 0}, 68 | {"price": 35, "frequency": 0}, 69 | {"price": 36, "frequency": 0}, 70 | {"price": 37, "frequency": 0}, 71 | {"price": 38, "frequency": 0}, 72 | {"price": 39, "frequency": 0}, 73 | {"price": 40, "frequency": 0}, 74 | {"price": 41, "frequency": 0}, 75 | {"price": 42, "frequency": 0}, 76 | {"price": 43, "frequency": 0}, 77 | {"price": 44, "frequency": 0}, 78 | {"price": 45, "frequency": 0}, 79 | {"price": 46, "frequency": 0}, 80 | {"price": 47, "frequency": 0}, 81 | {"price": 48, "frequency": 0}, 82 | {"price": 49, "frequency": 0}, 83 | {"price": 50, "frequency": 0}, 84 | {"price": 51, "frequency": 0}, 85 | {"price": 52, "frequency": 0}, 86 | {"price": 53, "frequency": 0}, 87 | {"price": 54, "frequency": 0}, 88 | {"price": 55, "frequency": 0}, 89 | {"price": 56, "frequency": 0}, 90 | {"price": 57, "frequency": 0}, 91 | {"price": 58, "frequency": 0}, 92 | {"price": 59, "frequency": 0}, 93 | {"price": 60, "frequency": 0}, 94 | {"price": 61, "frequency": 0}, 95 | {"price": 62, "frequency": 0}, 96 | {"price": 63, "frequency": 0}, 97 | {"price": 64, "frequency": 0}, 98 | {"price": 65, "frequency": 0}, 99 | {"price": 66, "frequency": 0}, 100 | {"price": 67, "frequency": 0}, 101 | {"price": 68, "frequency": 0}, 102 | {"price": 69, "frequency": 0}, 103 | {"price": 70, "frequency": 0}, 104 | {"price": 71, "frequency": 0}, 105 | {"price": 72, "frequency": 0}, 106 | {"price": 73, "frequency": 0}, 107 | {"price": 74, "frequency": 0}, 108 | {"price": 75, "frequency": 0}, 109 | {"price": 76, "frequency": 0}, 110 | {"price": 77, "frequency": 4544654}, 111 | {"price": 78, "frequency": 14930594}, 112 | {"price": 79, "frequency": 25194715}, 113 | {"price": 80, "frequency": 36201827}, 114 | {"price": 81, "frequency": 46621236}, 115 | {"price": 82, "frequency": 46510507}, 116 | {"price": 83, "frequency": 46380273}, 117 | {"price": 84, "frequency": 46266966}, 118 | {"price": 85, "frequency": 46169225}, 119 | {"price": 86, "frequency": 47268210}, 120 | {"price": 87, "frequency": 47136601}, 121 | {"price": 88, "frequency": 47017488}, 122 | {"price": 89, "frequency": 46900051}, 123 | {"price": 90, "frequency": 46775451}, 124 | {"price": 91, "frequency": 46246983}, 125 | {"price": 92, "frequency": 46899726}, 126 | {"price": 93, "frequency": 46795760}, 127 | {"price": 94, "frequency": 46693179}, 128 | {"price": 95, "frequency": 41806728}, 129 | {"price": 96, "frequency": 33292643}, 130 | {"price": 97, "frequency": 24879914}, 131 | {"price": 98, "frequency": 16563109}, 132 | {"price": 99, "frequency": 8348445}, 133 | {"price": 100, "frequency": 230096}, 134 | {"price": 101, "frequency": 327110}, 135 | {"price": 102, "frequency": 455587}, 136 | {"price": 103, "frequency": 625705}, 137 | {"price": 104, "frequency": 847520}, 138 | {"price": 105, "frequency": 1133066}, 139 | {"price": 106, "frequency": 1495772}, 140 | {"price": 107, "frequency": 1953643}, 141 | {"price": 108, "frequency": 2526343}, 142 | {"price": 109, "frequency": 3228408}, 143 | {"price": 110, "frequency": 4097035}, 144 | {"price": 111, "frequency": 5151422}, 145 | {"price": 112, "frequency": 6432237}, 146 | {"price": 113, "frequency": 7972882}, 147 | {"price": 114, "frequency": 9811982}, 148 | {"price": 115, "frequency": 11999222}, 149 | {"price": 116, "frequency": 14581195}, 150 | {"price": 117, "frequency": 17617788}, 151 | {"price": 118, "frequency": 21182890}, 152 | {"price": 119, "frequency": 25337572}, 153 | {"price": 120, "frequency": 30150777}, 154 | {"price": 121, "frequency": 35704073}, 155 | {"price": 122, "frequency": 42117577}, 156 | {"price": 123, "frequency": 49477812}, 157 | {"price": 124, "frequency": 57878970}, 158 | {"price": 125, "frequency": 67479753}, 159 | {"price": 126, "frequency": 78363752}, 160 | {"price": 127, "frequency": 74645148}, 161 | {"price": 128, "frequency": 76909703}, 162 | {"price": 129, "frequency": 79020506}, 163 | {"price": 130, "frequency": 78075742}, 164 | {"price": 131, "frequency": 77237952}, 165 | {"price": 132, "frequency": 79212770}, 166 | {"price": 133, "frequency": 80947767}, 167 | {"price": 134, "frequency": 76988759}, 168 | {"price": 135, "frequency": 78675068}, 169 | {"price": 136, "frequency": 80117023}, 170 | {"price": 137, "frequency": 78613768}, 171 | {"price": 138, "frequency": 77082585}, 172 | {"price": 139, "frequency": 78118646}, 173 | {"price": 140, "frequency": 78815687}, 174 | {"price": 141, "frequency": 73967064}, 175 | {"price": 142, "frequency": 74354607}, 176 | {"price": 143, "frequency": 74327937}, 177 | {"price": 144, "frequency": 71316142}, 178 | {"price": 145, "frequency": 68144120}, 179 | {"price": 146, "frequency": 67116081}, 180 | {"price": 147, "frequency": 65602632}, 181 | {"price": 148, "frequency": 58572811}, 182 | {"price": 149, "frequency": 56233950}, 183 | {"price": 150, "frequency": 53206787}, 184 | {"price": 151, "frequency": 47030441}, 185 | {"price": 152, "frequency": 40345828}, 186 | {"price": 153, "frequency": 35378983}, 187 | {"price": 154, "frequency": 29512142}, 188 | {"price": 155, "frequency": 25155910}, 189 | {"price": 156, "frequency": 25156841}, 190 | {"price": 157, "frequency": 25137086}, 191 | {"price": 158, "frequency": 25150628}, 192 | {"price": 159, "frequency": 25140270}, 193 | {"price": 160, "frequency": 25141709}, 194 | {"price": 161, "frequency": 25156192}, 195 | {"price": 162, "frequency": 25144528}, 196 | {"price": 163, "frequency": 25141541}, 197 | {"price": 164, "frequency": 25145815}, 198 | {"price": 165, "frequency": 25153235}, 199 | {"price": 166, "frequency": 25151606}, 200 | {"price": 167, "frequency": 25151403}, 201 | {"price": 168, "frequency": 25141821}, 202 | {"price": 169, "frequency": 25145261}, 203 | {"price": 170, "frequency": 25148553}, 204 | {"price": 171, "frequency": 25147741}, 205 | {"price": 172, "frequency": 25151376}, 206 | {"price": 173, "frequency": 25157034}, 207 | {"price": 174, "frequency": 25149189}, 208 | {"price": 175, "frequency": 25145673}, 209 | {"price": 176, "frequency": 25154512}, 210 | {"price": 177, "frequency": 25143066}, 211 | {"price": 178, "frequency": 25140134}, 212 | {"price": 179, "frequency": 25146503}, 213 | {"price": 180, "frequency": 25140476}, 214 | {"price": 181, "frequency": 23992928}, 215 | {"price": 182, "frequency": 23989984}, 216 | {"price": 183, "frequency": 22845510}, 217 | {"price": 184, "frequency": 22855635}, 218 | {"price": 185, "frequency": 21721563}, 219 | {"price": 186, "frequency": 21717640}, 220 | {"price": 187, "frequency": 20593434}, 221 | {"price": 188, "frequency": 20593481}, 222 | {"price": 189, "frequency": 19495849}, 223 | {"price": 190, "frequency": 19493449}, 224 | {"price": 191, "frequency": 18405512}, 225 | {"price": 192, "frequency": 18394895}, 226 | {"price": 193, "frequency": 17327162}, 227 | {"price": 194, "frequency": 17311398}, 228 | {"price": 195, "frequency": 16244026}, 229 | {"price": 196, "frequency": 16244188}, 230 | {"price": 197, "frequency": 15181294}, 231 | {"price": 198, "frequency": 15183228}, 232 | {"price": 199, "frequency": 14125883}, 233 | {"price": 200, "frequency": 14130054}, 234 | {"price": 201, "frequency": 13088384}, 235 | {"price": 202, "frequency": 13098585}, 236 | {"price": 203, "frequency": 12058343}, 237 | {"price": 204, "frequency": 12070140}, 238 | {"price": 205, "frequency": 11049399}, 239 | {"price": 206, "frequency": 11044090}, 240 | {"price": 207, "frequency": 10034734}, 241 | {"price": 208, "frequency": 10043204}, 242 | {"price": 209, "frequency": 9035173}, 243 | {"price": 210, "frequency": 9038814}, 244 | {"price": 211, "frequency": 8050268}, 245 | {"price": 212, "frequency": 8049033}, 246 | {"price": 213, "frequency": 7142076}, 247 | {"price": 214, "frequency": 7143988}, 248 | {"price": 215, "frequency": 6561721}, 249 | {"price": 216, "frequency": 6558320}, 250 | {"price": 217, "frequency": 5983024}, 251 | {"price": 218, "frequency": 5991099}, 252 | {"price": 219, "frequency": 5416527}, 253 | {"price": 220, "frequency": 5413343}, 254 | {"price": 221, "frequency": 4851788}, 255 | {"price": 222, "frequency": 4848196}, 256 | {"price": 223, "frequency": 4851173}, 257 | {"price": 224, "frequency": 4845268}, 258 | {"price": 225, "frequency": 4849413}, 259 | {"price": 226, "frequency": 4849344}, 260 | {"price": 227, "frequency": 4849557}, 261 | {"price": 228, "frequency": 4844774}, 262 | {"price": 229, "frequency": 4853741}, 263 | {"price": 230, "frequency": 4849589}, 264 | {"price": 231, "frequency": 4848499}, 265 | {"price": 232, "frequency": 4852490}, 266 | {"price": 233, "frequency": 4853153}, 267 | {"price": 234, "frequency": 4848290}, 268 | {"price": 235, "frequency": 4851987}, 269 | {"price": 236, "frequency": 4849048}, 270 | {"price": 237, "frequency": 4849730}, 271 | {"price": 238, "frequency": 4848084}, 272 | {"price": 239, "frequency": 4850303}, 273 | {"price": 240, "frequency": 4846743}, 274 | {"price": 241, "frequency": 4849459}, 275 | {"price": 242, "frequency": 4847017}, 276 | {"price": 243, "frequency": 4849875}, 277 | {"price": 244, "frequency": 4848568}, 278 | {"price": 245, "frequency": 4849527}, 279 | {"price": 246, "frequency": 4849174}, 280 | {"price": 247, "frequency": 4852424}, 281 | {"price": 248, "frequency": 4850653}, 282 | {"price": 249, "frequency": 4849376}, 283 | {"price": 250, "frequency": 4843522}, 284 | {"price": 251, "frequency": 4850308}, 285 | {"price": 252, "frequency": 4847846}, 286 | {"price": 253, "frequency": 4848140}, 287 | {"price": 254, "frequency": 4848330}, 288 | {"price": 255, "frequency": 4849753}, 289 | {"price": 256, "frequency": 4847751}, 290 | {"price": 257, "frequency": 4852699}, 291 | {"price": 258, "frequency": 4850252}, 292 | {"price": 259, "frequency": 4852926}, 293 | {"price": 260, "frequency": 4852378}, 294 | {"price": 261, "frequency": 4848817}, 295 | {"price": 262, "frequency": 4849185}, 296 | {"price": 263, "frequency": 4849022}, 297 | {"price": 264, "frequency": 4851008}, 298 | {"price": 265, "frequency": 4847415}, 299 | {"price": 266, "frequency": 4849290}, 300 | {"price": 267, "frequency": 4851737}, 301 | {"price": 268, "frequency": 4845636}, 302 | {"price": 269, "frequency": 4850853}, 303 | {"price": 270, "frequency": 4851290}, 304 | {"price": 271, "frequency": 4848148}, 305 | {"price": 272, "frequency": 4847283}, 306 | {"price": 273, "frequency": 4850157}, 307 | {"price": 274, "frequency": 4850756}, 308 | {"price": 275, "frequency": 4849286}, 309 | {"price": 276, "frequency": 4847459}, 310 | {"price": 277, "frequency": 4848202}, 311 | {"price": 278, "frequency": 4852102}, 312 | {"price": 279, "frequency": 4853402}, 313 | {"price": 280, "frequency": 4847697}, 314 | {"price": 281, "frequency": 4851044}, 315 | {"price": 282, "frequency": 4848661}, 316 | {"price": 283, "frequency": 4849314}, 317 | {"price": 284, "frequency": 4853347}, 318 | {"price": 285, "frequency": 4847862}, 319 | {"price": 286, "frequency": 4853055}, 320 | {"price": 287, "frequency": 4849236}, 321 | {"price": 288, "frequency": 4851405}, 322 | {"price": 289, "frequency": 4847969}, 323 | {"price": 290, "frequency": 4850818}, 324 | {"price": 291, "frequency": 4850848}, 325 | {"price": 292, "frequency": 4847749}, 326 | {"price": 293, "frequency": 4850034}, 327 | {"price": 294, "frequency": 4849835}, 328 | {"price": 295, "frequency": 4851164}, 329 | {"price": 296, "frequency": 4846275}, 330 | {"price": 297, "frequency": 4847010}, 331 | {"price": 298, "frequency": 4851862}, 332 | {"price": 299, "frequency": 4848703}, 333 | {"price": 300, "frequency": 4852243}, 334 | {"price": 301, "frequency": 4850086}, 335 | {"price": 302, "frequency": 4850131}, 336 | {"price": 303, "frequency": 4847124}, 337 | {"price": 304, "frequency": 4847157}, 338 | {"price": 305, "frequency": 4851365}, 339 | {"price": 306, "frequency": 4846857}, 340 | {"price": 307, "frequency": 4848956}, 341 | {"price": 308, "frequency": 4851185}, 342 | {"price": 309, "frequency": 4850216}, 343 | {"price": 310, "frequency": 4848565}, 344 | {"price": 311, "frequency": 4854054}, 345 | {"price": 312, "frequency": 4847445}, 346 | {"price": 313, "frequency": 4849193}, 347 | {"price": 314, "frequency": 4846086}, 348 | {"price": 315, "frequency": 4851219}, 349 | {"price": 316, "frequency": 4850439}, 350 | {"price": 317, "frequency": 4851131}, 351 | {"price": 318, "frequency": 4847503}, 352 | {"price": 319, "frequency": 4850584}, 353 | {"price": 320, "frequency": 4850664}, 354 | {"price": 321, "frequency": 4845825}, 355 | {"price": 322, "frequency": 4849564}, 356 | {"price": 323, "frequency": 4849342}, 357 | {"price": 324, "frequency": 4854273}, 358 | {"price": 325, "frequency": 4849107}, 359 | {"price": 326, "frequency": 4850809}, 360 | {"price": 327, "frequency": 4853079}, 361 | {"price": 328, "frequency": 4848916}, 362 | {"price": 329, "frequency": 4846608}, 363 | {"price": 330, "frequency": 4844671}, 364 | {"price": 331, "frequency": 4849820}, 365 | {"price": 332, "frequency": 4848415}, 366 | {"price": 333, "frequency": 4848486}, 367 | {"price": 334, "frequency": 4850739}, 368 | {"price": 335, "frequency": 4852018}, 369 | {"price": 336, "frequency": 4850263}, 370 | {"price": 337, "frequency": 4849762}, 371 | {"price": 338, "frequency": 4850747}, 372 | {"price": 339, "frequency": 4850198}, 373 | {"price": 340, "frequency": 4845467}, 374 | {"price": 341, "frequency": 4850532}, 375 | {"price": 342, "frequency": 4846428}, 376 | {"price": 343, "frequency": 4849270}, 377 | {"price": 344, "frequency": 4850715}, 378 | {"price": 345, "frequency": 4849121}, 379 | {"price": 346, "frequency": 4851551}, 380 | {"price": 347, "frequency": 4850589}, 381 | {"price": 348, "frequency": 4844481}, 382 | {"price": 349, "frequency": 4848923}, 383 | {"price": 350, "frequency": 4852833}, 384 | {"price": 351, "frequency": 4850464}, 385 | {"price": 352, "frequency": 4848728}, 386 | {"price": 353, "frequency": 4850013}, 387 | {"price": 354, "frequency": 4848563}, 388 | {"price": 355, "frequency": 4850664}, 389 | {"price": 356, "frequency": 4851976}, 390 | {"price": 357, "frequency": 4849239}, 391 | {"price": 358, "frequency": 4848622}, 392 | {"price": 359, "frequency": 4850519}, 393 | {"price": 360, "frequency": 4849810}, 394 | {"price": 361, "frequency": 4847440}, 395 | {"price": 362, "frequency": 4849497}, 396 | {"price": 363, "frequency": 4850294}, 397 | {"price": 364, "frequency": 4846272}, 398 | {"price": 365, "frequency": 4846236}, 399 | {"price": 366, "frequency": 4848012}, 400 | {"price": 367, "frequency": 4852485}, 401 | {"price": 368, "frequency": 4846784}, 402 | {"price": 369, "frequency": 4847065}, 403 | {"price": 370, "frequency": 4850520}, 404 | {"price": 371, "frequency": 4853444}, 405 | {"price": 372, "frequency": 4850545}, 406 | {"price": 373, "frequency": 4850548}, 407 | {"price": 374, "frequency": 4847264}, 408 | {"price": 375, "frequency": 4848218}, 409 | {"price": 376, "frequency": 4854361}, 410 | {"price": 377, "frequency": 4853940}, 411 | {"price": 378, "frequency": 4848295}, 412 | {"price": 379, "frequency": 4849853}, 413 | {"price": 380, "frequency": 4851042}, 414 | {"price": 381, "frequency": 4848029}, 415 | {"price": 382, "frequency": 4849681}, 416 | {"price": 383, "frequency": 4850669}, 417 | {"price": 384, "frequency": 4846498}, 418 | {"price": 385, "frequency": 4846182}, 419 | {"price": 386, "frequency": 4853666}, 420 | {"price": 387, "frequency": 4850034}, 421 | {"price": 388, "frequency": 4852980}, 422 | {"price": 389, "frequency": 4852577}, 423 | {"price": 390, "frequency": 4850077}, 424 | {"price": 391, "frequency": 4847802}, 425 | {"price": 392, "frequency": 4852898}, 426 | {"price": 393, "frequency": 4851856}, 427 | {"price": 394, "frequency": 4847183}, 428 | {"price": 395, "frequency": 4854414}, 429 | {"price": 396, "frequency": 4849270}, 430 | {"price": 397, "frequency": 4848187}, 431 | {"price": 398, "frequency": 4850543}, 432 | {"price": 399, "frequency": 4851218}, 433 | {"price": 400, "frequency": 4851943}, 434 | {"price": 401, "frequency": 4852172}, 435 | {"price": 402, "frequency": 4849372}, 436 | {"price": 403, "frequency": 4847417}, 437 | {"price": 404, "frequency": 4847882}, 438 | {"price": 405, "frequency": 4848108}, 439 | {"price": 406, "frequency": 4848984}, 440 | {"price": 407, "frequency": 4845640}, 441 | {"price": 408, "frequency": 4850532}, 442 | {"price": 409, "frequency": 4849776}, 443 | {"price": 410, "frequency": 4848716}, 444 | {"price": 411, "frequency": 4847436}, 445 | {"price": 412, "frequency": 4846050}, 446 | {"price": 413, "frequency": 4851554}, 447 | {"price": 414, "frequency": 4849971}, 448 | {"price": 415, "frequency": 4848575}, 449 | {"price": 416, "frequency": 4852435}, 450 | {"price": 417, "frequency": 4851679}, 451 | {"price": 418, "frequency": 4850242}, 452 | {"price": 419, "frequency": 4847137}, 453 | {"price": 420, "frequency": 4851061}, 454 | {"price": 421, "frequency": 4851648}, 455 | {"price": 422, "frequency": 4851045}, 456 | {"price": 423, "frequency": 4852331}, 457 | {"price": 424, "frequency": 4850457}, 458 | {"price": 425, "frequency": 4850204}, 459 | {"price": 426, "frequency": 4846947}, 460 | {"price": 427, "frequency": 4848439}, 461 | {"price": 428, "frequency": 4852552}, 462 | {"price": 429, "frequency": 4847873}, 463 | {"price": 430, "frequency": 4852333}, 464 | {"price": 431, "frequency": 4848492}, 465 | {"price": 432, "frequency": 4847092}, 466 | {"price": 433, "frequency": 4849250}, 467 | {"price": 434, "frequency": 4848101}, 468 | {"price": 435, "frequency": 4849433}, 469 | {"price": 436, "frequency": 4847369}, 470 | {"price": 437, "frequency": 4851737}, 471 | {"price": 438, "frequency": 4845168}, 472 | {"price": 439, "frequency": 4847728}, 473 | {"price": 440, "frequency": 4847804}, 474 | {"price": 441, "frequency": 4849886}, 475 | {"price": 442, "frequency": 4849153}, 476 | {"price": 443, "frequency": 4849567}, 477 | {"price": 444, "frequency": 4851485}, 478 | {"price": 445, "frequency": 4851368}, 479 | {"price": 446, "frequency": 4850433}, 480 | {"price": 447, "frequency": 4850935}, 481 | {"price": 448, "frequency": 4849314}, 482 | {"price": 449, "frequency": 4850140}, 483 | {"price": 450, "frequency": 4848668}, 484 | {"price": 451, "frequency": 4844662}, 485 | {"price": 452, "frequency": 4849841}, 486 | {"price": 453, "frequency": 4851117}, 487 | {"price": 454, "frequency": 4848920}, 488 | {"price": 455, "frequency": 4849194}, 489 | {"price": 456, "frequency": 4849590}, 490 | {"price": 457, "frequency": 4851030}, 491 | {"price": 458, "frequency": 4852276}, 492 | {"price": 459, "frequency": 4846554}, 493 | {"price": 460, "frequency": 4847539}, 494 | {"price": 461, "frequency": 4851823}, 495 | {"price": 462, "frequency": 4852028}, 496 | {"price": 463, "frequency": 4847507}, 497 | {"price": 464, "frequency": 4846945}, 498 | {"price": 465, "frequency": 4853979}, 499 | {"price": 466, "frequency": 4849800}, 500 | {"price": 467, "frequency": 4851673}, 501 | {"price": 468, "frequency": 4849132}, 502 | {"price": 469, "frequency": 4849172}, 503 | {"price": 470, "frequency": 4847470}, 504 | {"price": 471, "frequency": 4850080}, 505 | {"price": 472, "frequency": 4848940}, 506 | {"price": 473, "frequency": 4848159}, 507 | {"price": 474, "frequency": 4851327}, 508 | {"price": 475, "frequency": 4847625}, 509 | {"price": 476, "frequency": 4847190}, 510 | {"price": 477, "frequency": 4852833}, 511 | {"price": 478, "frequency": 4846295}, 512 | {"price": 479, "frequency": 4847497}, 513 | {"price": 480, "frequency": 4848508}, 514 | {"price": 481, "frequency": 4849019}, 515 | {"price": 482, "frequency": 4850699}, 516 | {"price": 483, "frequency": 4850774}, 517 | {"price": 484, "frequency": 4850494}, 518 | {"price": 485, "frequency": 4852253}, 519 | {"price": 486, "frequency": 4849248}, 520 | {"price": 487, "frequency": 4848660}, 521 | {"price": 488, "frequency": 4851922}, 522 | {"price": 489, "frequency": 4850298}, 523 | {"price": 490, "frequency": 4850110}, 524 | {"price": 491, "frequency": 4847233}, 525 | {"price": 492, "frequency": 4852170}, 526 | {"price": 493, "frequency": 4850982}, 527 | {"price": 494, "frequency": 4851291}, 528 | {"price": 495, "frequency": 4851078}, 529 | {"price": 496, "frequency": 4848443}, 530 | {"price": 497, "frequency": 4849124}, 531 | {"price": 498, "frequency": 4850912}, 532 | {"price": 499, "frequency": 4848357}, 533 | {"price": 500, "frequency": 4849514}, 534 | {"price": 501, "frequency": 4849414}, 535 | {"price": 502, "frequency": 4854112}, 536 | {"price": 503, "frequency": 4849096}, 537 | {"price": 504, "frequency": 4848774}, 538 | {"price": 505, "frequency": 4848375}, 539 | {"price": 506, "frequency": 4850885}, 540 | {"price": 507, "frequency": 4852527}, 541 | {"price": 508, "frequency": 4849960}, 542 | {"price": 509, "frequency": 4853302}, 543 | {"price": 510, "frequency": 4851113}, 544 | {"price": 511, "frequency": 4849139}, 545 | {"price": 512, "frequency": 4850578}, 546 | {"price": 513, "frequency": 4849210}, 547 | {"price": 514, "frequency": 4852364}, 548 | {"price": 515, "frequency": 4846926}, 549 | {"price": 516, "frequency": 4849814}, 550 | {"price": 517, "frequency": 4849340}, 551 | {"price": 518, "frequency": 4850222}, 552 | {"price": 519, "frequency": 4852794}, 553 | {"price": 520, "frequency": 4846586}, 554 | {"price": 521, "frequency": 4849224}, 555 | {"price": 522, "frequency": 4848341}, 556 | {"price": 523, "frequency": 4852037}, 557 | {"price": 524, "frequency": 4845823}, 558 | {"price": 525, "frequency": 4850187}, 559 | {"price": 526, "frequency": 4849088}, 560 | {"price": 527, "frequency": 4850849}, 561 | {"price": 528, "frequency": 4850789}, 562 | {"price": 529, "frequency": 4850851}, 563 | {"price": 530, "frequency": 4850650}, 564 | {"price": 531, "frequency": 4847858}, 565 | {"price": 532, "frequency": 4852504}, 566 | {"price": 533, "frequency": 4846772}, 567 | {"price": 534, "frequency": 4852375}, 568 | {"price": 535, "frequency": 4847904}, 569 | {"price": 536, "frequency": 4848317}, 570 | {"price": 537, "frequency": 4851441}, 571 | {"price": 538, "frequency": 4850999}, 572 | {"price": 539, "frequency": 4849787}, 573 | {"price": 540, "frequency": 4855490}, 574 | {"price": 541, "frequency": 4597426}, 575 | {"price": 542, "frequency": 4597361}, 576 | {"price": 543, "frequency": 4593236}, 577 | {"price": 544, "frequency": 4593838}, 578 | {"price": 545, "frequency": 4595588}, 579 | {"price": 546, "frequency": 4597680}, 580 | {"price": 547, "frequency": 4345366}, 581 | {"price": 548, "frequency": 4339039}, 582 | {"price": 549, "frequency": 4338023}, 583 | {"price": 550, "frequency": 4339834}, 584 | {"price": 551, "frequency": 4341951}, 585 | {"price": 552, "frequency": 4341446}, 586 | {"price": 553, "frequency": 4092042}, 587 | {"price": 554, "frequency": 4088250}, 588 | {"price": 555, "frequency": 4091371}, 589 | {"price": 556, "frequency": 4092515}, 590 | {"price": 557, "frequency": 4092084}, 591 | {"price": 558, "frequency": 4089994}, 592 | {"price": 559, "frequency": 3842163}, 593 | {"price": 560, "frequency": 3842936}, 594 | {"price": 561, "frequency": 3846911}, 595 | {"price": 562, "frequency": 3845322}, 596 | {"price": 563, "frequency": 3838748}, 597 | {"price": 564, "frequency": 3843717}, 598 | {"price": 565, "frequency": 3601535}, 599 | {"price": 566, "frequency": 3596263}, 600 | {"price": 567, "frequency": 3597946}, 601 | {"price": 568, "frequency": 3599268}, 602 | {"price": 569, "frequency": 3597731}, 603 | {"price": 570, "frequency": 3596265}, 604 | {"price": 571, "frequency": 3357462}, 605 | {"price": 572, "frequency": 3357266}, 606 | {"price": 573, "frequency": 3357300}, 607 | {"price": 574, "frequency": 3358809}, 608 | {"price": 575, "frequency": 3354049}, 609 | {"price": 576, "frequency": 3355610}, 610 | {"price": 577, "frequency": 3118873}, 611 | {"price": 578, "frequency": 3116398}, 612 | {"price": 579, "frequency": 3115912}, 613 | {"price": 580, "frequency": 3120375}, 614 | {"price": 581, "frequency": 3113286}, 615 | {"price": 582, "frequency": 3116985}, 616 | {"price": 583, "frequency": 2881372}, 617 | {"price": 584, "frequency": 2878299}, 618 | {"price": 585, "frequency": 2877029}, 619 | {"price": 586, "frequency": 2881308}, 620 | {"price": 587, "frequency": 2877526}, 621 | {"price": 588, "frequency": 2882159}, 622 | {"price": 589, "frequency": 2646964}, 623 | {"price": 590, "frequency": 2645847}, 624 | {"price": 591, "frequency": 2647055}, 625 | {"price": 592, "frequency": 2641825}, 626 | {"price": 593, "frequency": 2646485}, 627 | {"price": 594, "frequency": 2644975}, 628 | {"price": 595, "frequency": 2410828}, 629 | {"price": 596, "frequency": 2413515}, 630 | {"price": 597, "frequency": 2410116}, 631 | {"price": 598, "frequency": 2413376}, 632 | {"price": 599, "frequency": 2413437}, 633 | {"price": 600, "frequency": 2412937}, 634 | {"price": 601, "frequency": 2182972}, 635 | {"price": 602, "frequency": 2180791}, 636 | {"price": 603, "frequency": 2181916}, 637 | {"price": 604, "frequency": 2183072}, 638 | {"price": 605, "frequency": 2183697}, 639 | {"price": 606, "frequency": 2180733}, 640 | {"price": 607, "frequency": 1954723}, 641 | {"price": 608, "frequency": 1954063}, 642 | {"price": 609, "frequency": 1956143}, 643 | {"price": 610, "frequency": 1955192}, 644 | {"price": 611, "frequency": 1954935}, 645 | {"price": 612, "frequency": 1956428}, 646 | {"price": 613, "frequency": 1729248}, 647 | {"price": 614, "frequency": 1728363}, 648 | {"price": 615, "frequency": 1728867}, 649 | {"price": 616, "frequency": 1727492}, 650 | {"price": 617, "frequency": 1728240}, 651 | {"price": 618, "frequency": 1728452}, 652 | {"price": 619, "frequency": 1505717}, 653 | {"price": 620, "frequency": 1504925}, 654 | {"price": 621, "frequency": 1507848}, 655 | {"price": 622, "frequency": 1505112}, 656 | {"price": 623, "frequency": 1506489}, 657 | {"price": 624, "frequency": 1503896}, 658 | {"price": 625, "frequency": 1284568}, 659 | {"price": 626, "frequency": 1284749}, 660 | {"price": 627, "frequency": 1285080}, 661 | {"price": 628, "frequency": 1284894}, 662 | {"price": 629, "frequency": 1284862}, 663 | {"price": 630, "frequency": 1285121}, 664 | {"price": 631, "frequency": 1066810}, 665 | {"price": 632, "frequency": 1065445}, 666 | {"price": 633, "frequency": 1066592}, 667 | {"price": 634, "frequency": 1066231}, 668 | {"price": 635, "frequency": 1063804}, 669 | {"price": 636, "frequency": 1067070}, 670 | {"price": 637, "frequency": 847290}, 671 | {"price": 638, "frequency": 846260}, 672 | {"price": 639, "frequency": 847378}, 673 | {"price": 640, "frequency": 848779}, 674 | {"price": 641, "frequency": 848216}, 675 | {"price": 642, "frequency": 847460}, 676 | {"price": 643, "frequency": 633453}, 677 | {"price": 644, "frequency": 633698}, 678 | {"price": 645, "frequency": 632839}, 679 | {"price": 646, "frequency": 634687}, 680 | {"price": 647, "frequency": 632806}, 681 | {"price": 648, "frequency": 633890}, 682 | {"price": 649, "frequency": 421057}, 683 | {"price": 650, "frequency": 420940}, 684 | {"price": 651, "frequency": 419695}, 685 | {"price": 652, "frequency": 420449}, 686 | {"price": 653, "frequency": 421270}, 687 | {"price": 654, "frequency": 419495}, 688 | {"price": 655, "frequency": 208944}, 689 | {"price": 656, "frequency": 209063}, 690 | {"price": 657, "frequency": 208844}, 691 | {"price": 658, "frequency": 208997}, 692 | {"price": 659, "frequency": 208823}, 693 | {"price": 660, "frequency": 209025} 694 | ] 695 | } 696 | } --------------------------------------------------------------------------------