東証の市場区分見直しに対応する
* Protra.Lib/Data/BrandData.cs (Market): 新市場区分を追加
* Protra.Lib/Data/PriceData.cs (Price.Market): 削除
* Protra.Lib/Update/KabukaJohoUpdator.cs (KabukaJohoUpdator.ParseLine): Marketの設定を削除
* Protra.Lib/Update/MujinzouUpdator.cs (MujinzouUpdator.ParseLine): Marketの設定を削除
* PtSim/SystemExecutor.cs (SystemExecutor.LoopDateOnly): Marketの設定を削除
@@ -1,3 +1,13 @@ | ||
1 | +2022-04-16 panacoran <panacoran@users.osdn.me> | |
2 | + | |
3 | + 東証の市場区分見直しに対応する | |
4 | + | |
5 | + * Protra.Lib/Data/BrandData.cs (Market): 新市場区分を追加 | |
6 | + * Protra.Lib/Data/PriceData.cs (Price.Market): 削除 | |
7 | + * Protra.Lib/Update/KabukaJohoUpdator.cs (KabukaJohoUpdator.ParseLine): Marketの設定を削除 | |
8 | + * Protra.Lib/Update/MujinzouUpdator.cs (MujinzouUpdator.ParseLine): Marketの設定を削除 | |
9 | + * PtSim/SystemExecutor.cs (SystemExecutor.LoopDateOnly): Marketの設定を削除 | |
10 | + | |
1 | 11 | 2021-05-02 panacoran <panacoran@users.osdn.me> |
2 | 12 | |
3 | 13 | バージョン2.5のリリース準備 |
@@ -73,6 +73,14 @@ | ||
73 | 73 | return "大証2部"; |
74 | 74 | case "H": |
75 | 75 | return "ヘラクレス"; |
76 | + case "T": | |
77 | + return "東証 "; | |
78 | + case "TP": | |
79 | + return "東証P"; | |
80 | + case "TS": | |
81 | + return "東証S"; | |
82 | + case "TG": | |
83 | + return "東証G"; | |
76 | 84 | default: |
77 | 85 | return "不明"; |
78 | 86 | } |
@@ -83,7 +91,7 @@ | ||
83 | 91 | /// </summary> |
84 | 92 | public static string[] Codes |
85 | 93 | { |
86 | - get { return new[] {"T1", "T2", "M", "J"}; } | |
94 | + get { return new[] {"T", "TP", "TS", "TG"}; } | |
87 | 95 | } |
88 | 96 | |
89 | 97 | /// <summary> |
@@ -91,7 +99,7 @@ | ||
91 | 99 | /// </summary> |
92 | 100 | public static string[] AllCodes |
93 | 101 | { |
94 | - get { return new[] {"T1", "T2", "M", "J", "O1", "O2", "H"}; } | |
102 | + get { return new[] {"T", "TP", "TS", "TG", "T1", "T2", "M", "J", "O1", "O2", "H"}; } | |
95 | 103 | } |
96 | 104 | |
97 | 105 | /// <summary> |
@@ -43,11 +43,6 @@ | ||
43 | 43 | public string Code { get; set; } |
44 | 44 | |
45 | 45 | /// <summary> |
46 | - /// 市場 | |
47 | - /// </summary> | |
48 | - public string Market { get; set; } | |
49 | - | |
50 | - /// <summary> | |
51 | 46 | /// 日付 |
52 | 47 | /// </summary> |
53 | 48 | public DateTime Date { get; set; } |
@@ -74,35 +74,6 @@ | ||
74 | 74 | if (String.Compare(r.Code, "1002", StringComparison.Ordinal) > 0 && |
75 | 75 | String.Compare(r.Code, "1300", StringComparison.Ordinal) < 0) |
76 | 76 | return null; // 各種指数を無視する。 |
77 | - if (r.Date.Year >= 2006) | |
78 | - { | |
79 | - switch (int.Parse(tokens[2])) | |
80 | - { | |
81 | - case 1: | |
82 | - r.Market = "T1"; | |
83 | - break; | |
84 | - case 2: | |
85 | - r.Market = "T2"; | |
86 | - break; | |
87 | - case 3: | |
88 | - r.Market = "M"; | |
89 | - break; | |
90 | - case 4: | |
91 | - r.Market = "J"; | |
92 | - break; | |
93 | - case 6: | |
94 | - r.Market = "O1"; | |
95 | - break; | |
96 | - case 7: | |
97 | - r.Market = "O2"; | |
98 | - break; | |
99 | - case 8: | |
100 | - r.Market = "H"; | |
101 | - break; | |
102 | - default: | |
103 | - return null; | |
104 | - } | |
105 | - } | |
106 | 77 | // 指数の値に小数が含まれているのでdouble.Parseを利用する。 |
107 | 78 | r.Open = (int)double.Parse(tokens[3]); |
108 | 79 | r.High = (int)double.Parse(tokens[4]); |
@@ -109,23 +80,6 @@ | ||
109 | 80 | r.Low = (int)double.Parse(tokens[5]); |
110 | 81 | r.Close = (int)double.Parse(tokens[6]); |
111 | 82 | r.Volume = double.Parse(tokens[7]) / 1000; |
112 | - if (r.Date.Year < 2006) | |
113 | - { | |
114 | - switch (int.Parse(tokens[8])) | |
115 | - { | |
116 | - case 1: | |
117 | - r.Market = "T1"; | |
118 | - break; | |
119 | - case 2: | |
120 | - r.Market = "T2"; | |
121 | - break; | |
122 | - case 3: | |
123 | - r.Market = "J"; | |
124 | - break; | |
125 | - default: | |
126 | - return null; | |
127 | - } | |
128 | - } | |
129 | 83 | } |
130 | 84 | catch (FormatException) |
131 | 85 | { |
@@ -83,43 +83,6 @@ | ||
83 | 83 | r.Low = (int)double.Parse(tokens[6]); |
84 | 84 | r.Close = (int)double.Parse(tokens[7]); |
85 | 85 | r.Volume = double.Parse(tokens[8]) / 1000; |
86 | - switch (tokens[2]) | |
87 | - { | |
88 | - case "11": | |
89 | - r.Market = "T1"; | |
90 | - break; | |
91 | - case "12": | |
92 | - r.Market = "T2"; | |
93 | - break; | |
94 | - case "13": | |
95 | - r.Market = "M"; | |
96 | - break; | |
97 | - case "14": | |
98 | - r.Market = "T1"; | |
99 | - break; | |
100 | - case "20": //この大証は1部、2部混在しているので1部にする | |
101 | - case "21": | |
102 | - r.Market = "O1"; | |
103 | - break; | |
104 | - case "22": | |
105 | - r.Market = "O2"; | |
106 | - break; | |
107 | - case "23": | |
108 | - case "24": | |
109 | - r.Market = "H"; | |
110 | - break; | |
111 | - case "32": | |
112 | - if (tokens[9] == "東証2部") // データのミスに対応する。 | |
113 | - r.Market = "T2"; | |
114 | - else | |
115 | - return null; | |
116 | - break; | |
117 | - case "91": | |
118 | - r.Market = "J"; | |
119 | - break; | |
120 | - default: | |
121 | - return null; | |
122 | - } | |
123 | 86 | } |
124 | 87 | catch (FormatException) |
125 | 88 | { |
@@ -145,7 +145,6 @@ | ||
145 | 145 | foreach (var p in prices) |
146 | 146 | { |
147 | 147 | p.Code = "0000"; |
148 | - p.Market = "不明"; | |
149 | 148 | p.Open = p.High = p.Low = p.Close = 0; |
150 | 149 | p.Volume = 0; |
151 | 150 | } |