philly_frb_as_dataframe 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6050edfc861ff0f67173eeb46b63d49aa5681835e1a5df158594ac83d39fd4ec
4
- data.tar.gz: ec7a18b92baf017c631c55636ed859e430e36f6f0e64af84f78dcdb1daacce86
3
+ metadata.gz: 588a180b3a8a7f05794f14a446763788ece7624adc18f0850f86c7b40ea3a930
4
+ data.tar.gz: 3aee0cb7dce6081ad007cc676f973084156bc465a544f3c5b7f96b46efe08805
5
5
  SHA512:
6
- metadata.gz: bdf88d1bfa361466a17220433a96f17392898c90fd2a17fa7af779e690b0f017a2ac9e7e6c590c5ec8d1ad1d1c235fa829c7840b91a180f45511634e225641a0
7
- data.tar.gz: 2be5b732d959b8f93540022dd7c3127f25c4069f5e00a5b0ca7518f13901fd90bcb3a45e25fba3c55693c5cd868d8b97c536cb6c287cfdca57475d4b4b1ca296
6
+ metadata.gz: 7a59ce1d48ff76b1db9bd64e7f6a2f855de0a305f90bad624d5832564944e0f4c4b8386fe6e393e5d7337f16b6aaf27e9dd37f9c3ac1b90228356f47bd08817b
7
+ data.tar.gz: b29cdbcec23228600dfd5c9e8177fa269437b0f4424972a0dc9a7c5ebda6df0ce4df2bf0e603f7801ec2f2c6df5119d99eb33ba1d21b285f3d8849ce1a2e5a9f
data/.gitignore CHANGED
@@ -6,3 +6,7 @@
6
6
  /pkg/
7
7
  /spec/reports/
8
8
  /tmp/
9
+ *.gem
10
+ Gemfile.lock
11
+ .ruby-gemset
12
+ .ruby-version
data/README.md CHANGED
@@ -1,8 +1,9 @@
1
1
  # PhillyFrbAsDataframe
2
2
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/philly_frb_as_dataframe`. To experiment with that code, run `bin/console` for an interactive prompt.
3
+ Up to date remote economic data access for ruby, using Polars dataframes.
4
+
5
+ This package will fetch economic and financial information from the Federal Reserve Bank of Philadelphia, and return the results as a Polars dataframe. For details regarding the data available from the Philadelphia FRB, see https://www.philadelphiafed.org/surveys-and-data . This gem exposes the Partisan Conflict Index (see https://www.philadelphiafed.org/surveys-and-data/macroeconomic-data/partisan-conflict-index) and the Survey of Professional Forecasters (see https://www.philadelphiafed.org/-/media/frbp/assets/surveys-and-data/survey-of-professional-forecasters/spf-documentation.pdf).
4
6
 
5
- TODO: Delete this and the text above, and describe your gem
6
7
 
7
8
  ## Installation
8
9
 
@@ -22,7 +23,149 @@ Or install it yourself as:
22
23
 
23
24
  ## Usage
24
25
 
25
- TODO: Write usage instructions here
26
+ ```{ruby}
27
+ 3.1.2 :001 > PhillyFrbAsDataframe::PartisanConflict.new.fetch
28
+ =>
29
+ shape: (522, 2)
30
+ ┌────────────┬───────────────────┐
31
+ │ Timestamps ┆ Partisan Conflict │
32
+ │ --- ┆ --- │
33
+ │ date ┆ f64 │
34
+ ╞════════════╪═══════════════════╡
35
+ │ 1981-01-01 ┆ 68.944808 │
36
+ │ 1981-02-01 ┆ 64.907109 │
37
+ │ 1981-03-01 ┆ 79.058476 │
38
+ │ 1981-04-01 ┆ 69.324041 │
39
+ │ 1981-05-01 ┆ 88.194466 │
40
+ │ … ┆ … │
41
+ │ 2024-02-01 ┆ 131.52 │
42
+ │ 2024-03-01 ┆ 141.55 │
43
+ │ 2024-04-01 ┆ 119.98 │
44
+ │ 2024-05-01 ┆ 113.41 │
45
+ │ 2024-06-01 ┆ 103.95 │
46
+ └────────────┴───────────────────┘
47
+ 3.1.2 :002 > PhillyFrbAsDataframe::PartisanConflict.new.fetch(start: Date.new(2000,01,01), fin: Date.new(2020,12,31))
48
+ =>
49
+ shape: (252, 2)
50
+ ┌────────────┬───────────────────┐
51
+ │ Timestamps ┆ Partisan Conflict │
52
+ │ --- ┆ --- │
53
+ │ date ┆ f64 │
54
+ ╞════════════╪═══════════════════╡
55
+ │ 2000-01-01 ┆ 77.280948 │
56
+ │ 2000-02-01 ┆ 86.638723 │
57
+ │ 2000-03-01 ┆ 94.667911 │
58
+ │ 2000-04-01 ┆ 80.756581 │
59
+ │ 2000-05-01 ┆ 79.505339 │
60
+ │ … ┆ … │
61
+ │ 2020-08-01 ┆ 98.07 │
62
+ │ 2020-09-01 ┆ 116.31 │
63
+ │ 2020-10-01 ┆ 137.03 │
64
+ │ 2020-11-01 ┆ 156.84 │
65
+ │ 2020-12-01 ┆ 117.87 │
66
+ └────────────┴───────────────────┘
67
+ ```
68
+
69
+ and
70
+
71
+ ```{ruby}
72
+ 3.1.2 :001 > a = PhillyFrbAsDataframe::SurveyProfForecasters.new
73
+ => #<PhillyFrbAsDataframe::SurveyProfForecasters:0x0000000106e18640>
74
+ 3.1.2 :002 > a.fetch
75
+ =>
76
+ shape: (223, 308)
77
+ ┌────────────┬────────────┬────────────┬────────────┬───┬──────────────────┬──────────────────┬──────────────────┬──────────────────┐
78
+ │ Timestamps ┆ NGDP1 ┆ NGDP2 ┆ NGDP3 ┆ … ┆ RR3_TBILL_CPCE_2 ┆ RR3_TBILL_CPCE_3 ┆ RR3_TBILL_CPCE_4 ┆ RR3_TBILL_CPCE_5 │
79
+ │ --- ┆ --- ┆ --- ┆ --- ┆ ┆ --- ┆ --- ┆ --- ┆ --- │
80
+ │ date ┆ f64 ┆ f64 ┆ f64 ┆ ┆ f64 ┆ f64 ┆ f64 ┆ f64 │
81
+ ╞════════════╪════════════╪════════════╪════════════╪═══╪══════════════════╪══════════════════╪══════════════════╪══════════════════╡
82
+ │ 1968-10-01 ┆ 870.931 ┆ 884.7816 ┆ 896.5402 ┆ … ┆ null ┆ null ┆ null ┆ null │
83
+ │ 1969-01-01 ┆ 887.8413 ┆ 900.6667 ┆ 912.0476 ┆ … ┆ null ┆ null ┆ null ┆ null │
84
+ │ 1969-04-01 ┆ 903.0169 ┆ 916.8814 ┆ 930.0 ┆ … ┆ null ┆ null ┆ null ┆ null │
85
+ │ 1969-07-01 ┆ 924.9322 ┆ 938.7288 ┆ 950.678 ┆ … ┆ null ┆ null ┆ null ┆ null │
86
+ │ 1969-10-01 ┆ 942.8596 ┆ 954.2632 ┆ 963.7895 ┆ … ┆ null ┆ null ┆ null ┆ null │
87
+ │ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … │
88
+ │ 2023-04-01 ┆ 26465.8911 ┆ 26717.284 ┆ 26920.0377 ┆ … ┆ 1.4984 ┆ 1.9012 ┆ 2.0303 ┆ 1.9329 │
89
+ │ 2023-07-01 ┆ 26834.9959 ┆ 27140.6493 ┆ 27397.6401 ┆ … ┆ 2.3394 ┆ 2.5546 ┆ 2.5933 ┆ 2.4247 │
90
+ │ 2023-10-01 ┆ 27623.5055 ┆ 27917.2634 ┆ 28184.9915 ┆ … ┆ 2.7834 ┆ 2.8424 ┆ 2.795 ┆ 2.5619 │
91
+ │ 2024-01-01 ┆ 27938.8105 ┆ 28234.0069 ┆ 28497.6187 ┆ … ┆ 3.1199 ┆ 2.983 ┆ 2.692 ┆ 2.4174 │
92
+ │ 2024-04-01 ┆ 28284.4998 ┆ 28625.8758 ┆ 28944.1106 ┆ … ┆ 2.5017 ┆ 2.6019 ┆ 2.4432 ┆ 2.1863 │
93
+ └────────────┴────────────┴────────────┴────────────┴───┴──────────────────┴──────────────────┴──────────────────┴──────────────────┘
94
+ 3.1.2 :003 > Polars::Config.set_tbl_rows(-1)
95
+ => Polars::Config
96
+ 3.1.2 :004 > Polars::Config.set_tbl_cols(-1)
97
+ => Polars::Config
98
+ 3.1.2 :005 > a.fetch
99
+ =>
100
+ shape: (223, 308)
101
+ ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐
102
+ │ Tim ┆ NGD ┆ NGD ┆ NGD ┆ NGD ┆ NGD ┆ NGD ┆ NGD ┆ NGD ┆ PGD ┆ PGD ┆ PGD ┆ PGD ┆ PGD ┆ PGD ┆ PGD ┆ PGD ┆ CPR ┆ CPR ┆ CPR ┆ CPR ┆ CPR ┆ CPR ┆ CPR ┆ CPR ┆ UNE ┆ UNE ┆ UNE ┆ UNE ┆ UNE ┆ UNE ┆ UNE ┆ UNE ┆ UNE ┆ UNE ┆ EMP ┆ EMP ┆ EMP ┆ EMP ┆ EMP ┆ EMP ┆ EMP ┆ EMP ┆ IND ┆ IND ┆ IND ┆ IND ┆ IND ┆ IND ┆ IND ┆ IND ┆ HOU ┆ HOU ┆ HOU ┆ HOU ┆ HOU ┆ HOU ┆ HOU ┆ HOU ┆ TBI ┆ TBI ┆ TBI ┆ TBI ┆ TBI ┆ TBI ┆ TBI ┆ TBI ┆ TBI ┆ TBI ┆ BON ┆ BON ┆ BON ┆ BON ┆ BON ┆ BON ┆ BON ┆ BON ┆ BAA ┆ BAA ┆ BAA ┆ BAA ┆ BAA ┆ BAA ┆ BAA ┆ BAA ┆ TBO ┆ TBO ┆ TBO ┆ TBO ┆ TBO ┆ TBO ┆ TBO ┆ TBO ┆ TBO ┆ TBO ┆ RGD ┆ RGD ┆ RGD ┆ RGD ┆ RGD ┆ RGD ┆ RGD ┆ RGD ┆ RGD ┆ RGD ┆ RCO ┆ RCO ┆ RCO ┆ RCO ┆ RCO ┆ RCO ┆ RCO ┆ RCO ┆ RNR ┆ RNR ┆ RNR ┆ RNR ┆ RNR ┆ RNR ┆ RNR ┆ RNR ┆ RRE ┆ RRE ┆ RRE ┆ RRE ┆ RRE ┆ RRE ┆ RRE ┆ RRE ┆ RFE ┆ RFE ┆ RFE ┆ RFE ┆ RFE ┆ RFE ┆ RFE ┆ RFE ┆ RSL ┆ RSL ┆ RSL ┆ RSL ┆ RSL ┆ RSL ┆ RSL ┆ RSL ┆ RCB ┆ RCB ┆ RCB ┆ RCB ┆ RCB ┆ RCB ┆ RCB ┆ RCB ┆ REX ┆ REX ┆ REX ┆ REX ┆ REX ┆ REX ┆ REX ┆ REX ┆ CPI ┆ PCE ┆ CPI ┆ PCE ┆ RGD ┆ PRO ┆ STO ┆ BON ┆ BIL ┆ CPI ┆ CPI ┆ CPI ┆ CPI ┆ CPI ┆ CPI ┆ CPI ┆ CPI ┆ CPI ┆ COR ┆ COR ┆ COR ┆ COR ┆ COR ┆ COR ┆ COR ┆ COR ┆ COR ┆ PCE ┆ PCE ┆ PCE ┆ PCE ┆ PCE ┆ PCE ┆ PCE ┆ PCE ┆ PCE ┆ COR ┆ COR ┆ COR ┆ COR ┆ COR ┆ COR ┆ COR ┆ COR ┆ COR ┆ UBA ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ cpi ┆ pce ┆ RR1 ┆ RR1 ┆ RR1 ┆ RR1 ┆ RR1 ┆ RR2 ┆ RR2 ┆ RR2 ┆ RR2 ┆ RR3 ┆ RR3 ┆ RR3 ┆ RR3 ┆ RR1 ┆ RR1 ┆ RR1 ┆ RR1 ┆ RR1 ┆ RR2 ┆ RR2 ┆ RR2 ┆ RR2 ┆ RR3 ┆ RR3 ┆ RR3 ┆ RR3 ┆ RR1 ┆ RR1 ┆ RR1 ┆ RR1 ┆ RR1 ┆ RR2 ┆ RR2 ┆ RR2 ┆ RR2 ┆ RR3 ┆ RR3 ┆ RR3 ┆ RR3 ┆ RR1 ┆ RR1 ┆ RR1 ┆ RR1 ┆ RR1 ┆ RR2 ┆ RR2 ┆ RR2 ┆ RR2 ┆ RR3 ┆ RR3 ┆ RR3 ┆ RR3 ┆ RR1 ┆ RR1 ┆ RR1 ┆ RR1 ┆ RR1 ┆ RR2 ┆ RR2 ┆ RR2 ┆ RR2 ┆ RR3 ┆ RR3 ┆ RR3 ┆ RR3 │
103
+ │ est ┆ P1 ┆ P2 ┆ P3 ┆ P4 ┆ P5 ┆ P6 ┆ PA ┆ PB ┆ P1 ┆ P2 ┆ P3 ┆ P4 ┆ P5 ┆ P6 ┆ PA ┆ PB ┆ OF1 ┆ OF2 ┆ OF3 ┆ OF4 ┆ OF5 ┆ OF6 ┆ OFA ┆ OFB ┆ MP1 ┆ MP2 ┆ MP3 ┆ MP4 ┆ MP5 ┆ MP6 ┆ MPA ┆ MPB ┆ MPC ┆ MPD ┆ 1 ┆ 2 ┆ 3 ┆ 4 ┆ 5 ┆ 6 ┆ A ┆ B ┆ PRO ┆ PRO ┆ PRO ┆ PRO ┆ PRO ┆ PRO ┆ PRO ┆ PRO ┆ SIN ┆ SIN ┆ SIN ┆ SIN ┆ SIN ┆ SIN ┆ SIN ┆ SIN ┆ LL1 ┆ LL2 ┆ LL3 ┆ LL4 ┆ LL5 ┆ LL6 ┆ LLA ┆ LLB ┆ LLC ┆ LLD ┆ D1 ┆ D2 ┆ D3 ┆ D4 ┆ D5 ┆ D6 ┆ DA ┆ DB ┆ BON ┆ BON ┆ BON ┆ BON ┆ BON ┆ BON ┆ BON ┆ BON ┆ ND1 ┆ ND2 ┆ ND3 ┆ ND4 ┆ ND5 ┆ ND6 ┆ NDA ┆ NDB ┆ NDC ┆ NDD ┆ P1 ┆ P2 ┆ P3 ┆ P4 ┆ P5 ┆ P6 ┆ PA ┆ PB ┆ PC ┆ PD ┆ NSU ┆ NSU ┆ NSU ┆ NSU ┆ NSU ┆ NSU ┆ NSU ┆ NSU ┆ ESI ┆ ESI ┆ ESI ┆ ESI ┆ ESI ┆ ESI ┆ ESI ┆ ESI ┆ SIN ┆ SIN ┆ SIN ┆ SIN ┆ SIN ┆ SIN ┆ SIN ┆ SIN ┆ DGO ┆ DGO ┆ DGO ┆ DGO ┆ DGO ┆ DGO ┆ DGO ┆ DGO ┆ GOV ┆ GOV ┆ GOV ┆ GOV ┆ GOV ┆ GOV ┆ GOV ┆ GOV ┆ I1 ┆ I2 ┆ I3 ┆ I4 ┆ I5 ┆ I6 ┆ IA ┆ IB ┆ POR ┆ POR ┆ POR ┆ POR ┆ POR ┆ POR ┆ POR ┆ POR ┆ 5YR ┆ 5YR ┆ 10 ┆ 10 ┆ P10 ┆ D10 ┆ CK1 ┆ D10 ┆ L10 ┆ 1 ┆ 2 ┆ 3 ┆ 4 ┆ 5 ┆ 6 ┆ A ┆ B ┆ C ┆ ECP ┆ ECP ┆ ECP ┆ ECP ┆ ECP ┆ ECP ┆ ECP ┆ ECP ┆ ECP ┆ 1 ┆ 2 ┆ 3 ┆ 4 ┆ 5 ┆ 6 ┆ A ┆ B ┆ C ┆ EPC ┆ EPC ┆ EPC ┆ EPC ┆ EPC ┆ EPC ┆ EPC ┆ EPC ┆ EPC ┆ R ┆ _Tb ┆ _Tb ┆ _Tb ┆ _Tb ┆ _Tb ┆ _Tb ┆ _Tb ┆ _Tb ┆ _Tb ┆ _Tb ┆ _BA ┆ _BA ┆ _BA ┆ _BA ┆ _BA ┆ _BA ┆ _BA ┆ _BA ┆ _BA ┆ _BA ┆ _BA ┆ _BA ┆ _BA ┆ _BA ┆ _BA ┆ _BA ┆ _AA ┆ _AA ┆ _AA ┆ _AA ┆ _AA ┆ _AA ┆ _AA ┆ _AA ┆ f5 ┆ f5 ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB │
104
+ │ amp ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ D1 ┆ D2 ┆ D3 ┆ D4 ┆ D5 ┆ D6 ┆ DA ┆ DB ┆ G1 ┆ G2 ┆ G3 ┆ G4 ┆ G5 ┆ G6 ┆ GA ┆ GB ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ D1 ┆ D2 ┆ D3 ┆ D4 ┆ D5 ┆ D6 ┆ DA ┆ DB ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ M1 ┆ M2 ┆ M3 ┆ M4 ┆ M5 ┆ M6 ┆ MA ┆ MB ┆ N1 ┆ N2 ┆ N3 ┆ N4 ┆ N5 ┆ N6 ┆ NA ┆ NB ┆ V1 ┆ V2 ┆ V3 ┆ V4 ┆ V5 ┆ V6 ┆ VA ┆ VB ┆ V1 ┆ V2 ┆ V3 ┆ V4 ┆ V5 ┆ V6 ┆ VA ┆ VB ┆ 1 ┆ 2 ┆ 3 ┆ 4 ┆ 5 ┆ 6 ┆ A ┆ B ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ T1 ┆ T2 ┆ T3 ┆ T4 ┆ T5 ┆ T6 ┆ TA ┆ TB ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ 0 ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ I1 ┆ I2 ┆ I3 ┆ I4 ┆ I5 ┆ I6 ┆ IA ┆ IB ┆ IC ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ E1 ┆ E2 ┆ E3 ┆ E4 ┆ E5 ┆ E6 ┆ EA ┆ EB ┆ EC ┆ --- ┆ ond ┆ ond ┆ ond ┆ ond ┆ ond ┆ ond ┆ ond ┆ ond ┆ ond ┆ ond ┆ A_A ┆ A_A ┆ A_A ┆ A_A ┆ A_A ┆ A_A ┆ A_A ┆ A_A ┆ A_T ┆ A_T ┆ A_T ┆ A_T ┆ A_T ┆ A_T ┆ A_T ┆ A_T ┆ A_T ┆ A_T ┆ A_T ┆ A_T ┆ A_T ┆ A_T ┆ A_T ┆ A_T ┆ --- ┆ --- ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL │
105
+ │ s ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ nul ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ --- ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ f64 ┆ _Tb ┆ _Tb ┆ _Tb ┆ _Tb ┆ _Tb ┆ _Tb ┆ _Tb ┆ _Tb ┆ _Tb ┆ _Tb ┆ AA1 ┆ AA2 ┆ AA3 ┆ AA4 ┆ AA5 ┆ AA6 ┆ AAA ┆ AAB ┆ BON ┆ BON ┆ BON ┆ BON ┆ BON ┆ BON ┆ BON ┆ BON ┆ BON ┆ BON ┆ BON ┆ BON ┆ BON ┆ BON ┆ BON ┆ BON ┆ f64 ┆ f64 ┆ _PG ┆ _PG ┆ _PG ┆ _PG ┆ _PG ┆ _PG ┆ _PG ┆ _PG ┆ _PG ┆ _PG ┆ _PG ┆ _PG ┆ _PG ┆ _CP ┆ _CP ┆ _CP ┆ _CP ┆ _CP ┆ _CP ┆ _CP ┆ _CP ┆ _CP ┆ _CP ┆ _CP ┆ _CP ┆ _CP ┆ _CC ┆ _CC ┆ _CC ┆ _CC ┆ _CC ┆ _CC ┆ _CC ┆ _CC ┆ _CC ┆ _CC ┆ _CC ┆ _CC ┆ _CC ┆ _PC ┆ _PC ┆ _PC ┆ _PC ┆ _PC ┆ _PC ┆ _PC ┆ _PC ┆ _PC ┆ _PC ┆ _PC ┆ _PC ┆ _PC ┆ _CP ┆ _CP ┆ _CP ┆ _CP ┆ _CP ┆ _CP ┆ _CP ┆ _CP ┆ _CP ┆ _CP ┆ _CP ┆ _CP ┆ _CP │
106
+ │ --- ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ l ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ nul ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ ┆ ┆ ┆ ┆ ┆ ┆ f64 ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ ┆ ill ┆ ill ┆ ill ┆ ill ┆ ill ┆ ill ┆ ill ┆ ill ┆ ill ┆ ill ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ D1 ┆ D2 ┆ D3 ┆ D4 ┆ D5 ┆ D6 ┆ DA ┆ DB ┆ D1 ┆ D2 ┆ D3 ┆ D4 ┆ D5 ┆ D6 ┆ DA ┆ DB ┆ ┆ ┆ DP_ ┆ DP_ ┆ DP_ ┆ DP_ ┆ DP_ ┆ DP_ ┆ DP_ ┆ DP_ ┆ DP_ ┆ DP_ ┆ DP_ ┆ DP_ ┆ DP_ ┆ I_2 ┆ I_3 ┆ I_4 ┆ I_5 ┆ I_6 ┆ I_2 ┆ I_3 ┆ I_4 ┆ I_5 ┆ I_2 ┆ I_3 ┆ I_4 ┆ I_5 ┆ PI_ ┆ PI_ ┆ PI_ ┆ PI_ ┆ PI_ ┆ PI_ ┆ PI_ ┆ PI_ ┆ PI_ ┆ PI_ ┆ PI_ ┆ PI_ ┆ PI_ ┆ E_2 ┆ E_3 ┆ E_4 ┆ E_5 ┆ E_6 ┆ E_2 ┆ E_3 ┆ E_4 ┆ E_5 ┆ E_2 ┆ E_3 ┆ E_4 ┆ E_5 ┆ CE_ ┆ CE_ ┆ CE_ ┆ CE_ ┆ CE_ ┆ CE_ ┆ CE_ ┆ CE_ ┆ CE_ ┆ CE_ ┆ CE_ ┆ CE_ ┆ CE_ │
107
+ │ dat ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ l ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ 1 ┆ 2 ┆ 3 ┆ 4 ┆ 5 ┆ 6 ┆ A ┆ B ┆ C ┆ D ┆ nul ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ ┆ ┆ 2 ┆ 3 ┆ 4 ┆ 5 ┆ 6 ┆ 2 ┆ 3 ┆ 4 ┆ 5 ┆ 2 ┆ 3 ┆ 4 ┆ 5 ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ 2 ┆ 3 ┆ 4 ┆ 5 ┆ 6 ┆ 2 ┆ 3 ┆ 4 ┆ 5 ┆ 2 ┆ 3 ┆ 4 ┆ 5 ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ 2 ┆ 3 ┆ 4 ┆ 5 ┆ 6 ┆ 2 ┆ 3 ┆ 4 ┆ 5 ┆ 2 ┆ 3 ┆ 4 ┆ 5 │
108
+ │ e ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ l ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ nul ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ nul ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ ┆ ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- │
109
+ │ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ l ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ l ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 │
110
+ ╞═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╡
111
+ │ 196 ┆ 870 ┆ 884 ┆ 896 ┆ 908 ┆ 923 ┆ 939 ┆ nul ┆ nul ┆ 122 ┆ 123 ┆ 124 ┆ 125 ┆ 126 ┆ 126 ┆ nul ┆ nul ┆ 51. ┆ 51. ┆ 50. ┆ 51. ┆ 51. ┆ 52. ┆ nul ┆ nul ┆ 3.5 ┆ 3.6 ┆ 3.8 ┆ 4.0 ┆ 3.9 ┆ 3.9 ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ 164 ┆ 165 ┆ 166 ┆ 166 ┆ 168 ┆ 170 ┆ nul ┆ nul ┆ 1.5 ┆ 1.5 ┆ 1.5 ┆ 1.5 ┆ 1.6 ┆ 1.6 ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ 713 ┆ 717 ┆ 721 ┆ 726 ┆ 733 ┆ 740 ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul │
112
+ │ 8-1 ┆ .93 ┆ .78 ┆ .54 ┆ .77 ┆ .77 ┆ .79 ┆ l ┆ l ┆ .0 ┆ .32 ┆ .28 ┆ .16 ┆ .01 ┆ .86 ┆ l ┆ l ┆ 023 ┆ 255 ┆ 914 ┆ 059 ┆ 988 ┆ 938 ┆ l ┆ l ┆ 974 ┆ 218 ┆ 359 ┆ 231 ┆ 91 ┆ 397 ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ .80 ┆ .67 ┆ .02 ┆ .56 ┆ .25 ┆ .07 ┆ l ┆ l ┆ 194 ┆ 298 ┆ 442 ┆ 843 ┆ 407 ┆ 819 ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ .87 ┆ .48 ┆ .38 ┆ .14 ┆ .16 ┆ .82 ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l │
113
+
114
+ (...snip...)
115
+
116
+ 3.1.2 :006 > b = a.fetch
117
+ =>
118
+ shape: (223, 308)
119
+ ...
120
+ 3.1.2 :007 > b.columns
121
+ =>
122
+ ["Timestamps",
123
+ "NGDP1",
124
+ "NGDP2",
125
+ "NGDP3",
126
+ "NGDP4",
127
+ "NGDP5",
128
+ "NGDP6",
129
+ "NGDPA",
130
+ "NGDPB",
131
+ "PGDP1",
132
+ "PGDP2",
133
+ "PGDP3",
134
+ "PGDP4",
135
+ "PGDP5",
136
+ "PGDP6",
137
+ "PGDPA",
138
+ "PGDPB",
139
+
140
+ (...snip...)
141
+
142
+ "RR3_TBILL_CPCE_2",
143
+ "RR3_TBILL_CPCE_3",
144
+ "RR3_TBILL_CPCE_4",
145
+ "RR3_TBILL_CPCE_5"]
146
+ 3.1.2 :008 > b['Timestamps']
147
+ =>
148
+ shape: (223,)
149
+ Series: 'Timestamps' [date]
150
+ [
151
+ 1968-10-01
152
+ 1969-01-01
153
+ 1969-04-01
154
+ 1969-07-01
155
+ 1969-10-01
156
+ 1970-01-01
157
+ 1970-04-01
158
+ 1970-07-01
159
+ 1970-10-01
160
+
161
+ (...snip...)
162
+
163
+ 2023-07-01
164
+ 2023-10-01
165
+ 2024-01-01
166
+ 2024-04-01
167
+ ]
168
+ ```
26
169
 
27
170
  ## Development
28
171
 
@@ -1,13 +1,10 @@
1
1
  require 'polars-df'
2
2
  require 'httparty'
3
3
  require 'roo'
4
- require 'zlib'
5
- require 'stringio'
6
4
  require 'csv'
7
5
 
8
6
  module PhillyFrbAsDataframe
9
7
  class PartisanConflict
10
- # Get data for the given name from the Bank of Canada.
11
8
 
12
9
  include ::HTTParty
13
10
 
@@ -0,0 +1,66 @@
1
+ require 'polars-df'
2
+ require 'httparty'
3
+ require 'roo'
4
+ require 'csv'
5
+
6
+ module PhillyFrbAsDataframe
7
+ class SurveyProfForecasters
8
+
9
+ include ::HTTParty
10
+
11
+ attr_reader :ary
12
+
13
+ def initialize
14
+ end
15
+
16
+ def fetch(start: nil, fin: nil)
17
+ dat = _fetch_data.dup
18
+ hsh = dat.map{|d| d.map{|r| r.to_hash }.each{|h| h['Timestamps_'] = Date.new(h['YEAR'], (3*(h['QUARTER'])-2), 1) } }
19
+ df = nil
20
+
21
+ hsh.each do |h|
22
+ keys = h.first.keys
23
+ vals = h.map(&:values).transpose
24
+
25
+ tmp_df = {}; (0..(keys.length-1)).to_a.each{|i| tmp_df[keys[i]] = vals[i]}
26
+
27
+ tmp_df = Polars::DataFrame.new(tmp_df).drop(['QUARTER', 'YEAR'])
28
+ tmp_df = tmp_df.filter(Polars.col('Timestamps_') <= fin.to_date) unless start.nil?
29
+ tmp_df = tmp_df.filter(Polars.col('Timestamps_') >= start.to_date) unless fin.nil?
30
+
31
+ if h == hsh.first
32
+ df = tmp_df
33
+ else
34
+ df = df.join(tmp_df, on: 'Timestamps_', how: 'full').drop(['Timestamps__right'])
35
+ end
36
+
37
+ end
38
+ s = Polars::Series.new('Timestamps', df['Timestamps_'].to_a)
39
+ df = df.insert_column(0,s).drop(['Timestamps_'])
40
+
41
+ df
42
+ end
43
+
44
+ protected
45
+
46
+ private
47
+
48
+ def _fetch_data #(options={})
49
+ xlsx_dta = self.class.get('https://www.philadelphiafed.org/-/media/frbp/assets/surveys-and-data/survey-of-professional-forecasters/historical-data/meanlevel.xlsx').parsed_response
50
+ csv_dta = []
51
+
52
+ na_converter = proc {|field| field == '#N/A' ? nil : field }
53
+ CSV::Converters[:na] = na_converter
54
+
55
+ Tempfile.open(['foo', '.xlsx'], '/tmp', binmode: true) do |f|
56
+ f.write(xlsx_dta)
57
+ f.rewind
58
+ xlsx_file = Roo::Excelx.new(f.path)
59
+ xlsx_file.each_with_pagename do |name, sheet|
60
+ csv_dta << CSV.parse(sheet.to_csv, headers: true, converters: [:numeric, :na], nil_value: '\"#N/A\"')
61
+ end
62
+ end
63
+ csv_dta.map{|dta| dta[0..-1]}
64
+ end
65
+ end
66
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PhillyFrbAsDataframe
4
- VERSION = "0.1.0"
4
+ VERSION = "0.1.1"
5
5
  end
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative "philly_frb_as_dataframe/version"
4
- require_relative "philly_frb_as_dataframe/partisan_conflict"
4
+ require_relative "philly_frb_as_dataframe/partisan_conflict"
5
+ require_relative "philly_frb_as_dataframe/survey_prof_forecasters"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: philly_frb_as_dataframe
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bill McKinnon
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-08-06 00:00:00.000000000 Z
11
+ date: 2024-08-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: polars-df
@@ -71,6 +71,7 @@ files:
71
71
  - bin/setup
72
72
  - lib/philly_frb_as_dataframe.rb
73
73
  - lib/philly_frb_as_dataframe/partisan_conflict.rb
74
+ - lib/philly_frb_as_dataframe/survey_prof_forecasters.rb
74
75
  - lib/philly_frb_as_dataframe/version.rb
75
76
  - philly_frb_as_dataframe.gemspec
76
77
  homepage: https://github.com/bmck/philly_frb_as_dataframe
@@ -95,7 +96,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
95
96
  - !ruby/object:Gem::Version
96
97
  version: '0'
97
98
  requirements: []
98
- rubygems_version: 3.1.6
99
+ rubygems_version: 3.3.7
99
100
  signing_key:
100
101
  specification_version: 4
101
102
  summary: Alternative economic and financial data from the Philadelphia FRB