Парсинг данных без пропущенных данных - это нормально, но при пропущенных данных это не так - PullRequest
0 голосов
/ 23 мая 2019

Я получаю данные каждый день, которые я должен анализировать:

Expiry                       ATM     1.00%     1.50%     2.00%     2.50%     3.00%     3.50%     4.00%     5.00%     6.00%     7.00%     8.00%     9.00%   10.00%   11.00%   12.00%   13.00%   14.00%
1Mo       Vol             79.69     83.91     90.19     94.74     98.20   100.96   103.26   105.21   108.41   110.96   113.08   114.88   116.45   117.84   119.09   120.21   121.24   122.18
            Strike           0.44      1.00      1.50      2.00      2.50      3.00      3.50      4.00      5.00      6.00      7.00      8.00      9.00     10.00     11.00     12.00     13.00     14.00
3Mo       Vol             76.14     67.63     69.61     71.87     73.83     75.48     76.90     78.14     80.21     81.89     83.30     84.52     85.58     86.52     87.37     88.14     88.84     89.49
            Strike           0.47      1.00      1.50      2.00      2.50      3.00      3.50      4.00      5.00      6.00      7.00      8.00      9.00     10.00     11.00     12.00     13.00     14.00
6Mo       Vol             72.85     64.08     63.93     64.92     66.01     67.02     67.93     68.75     70.17     71.35     72.36     73.23     74.01     74.70     75.33     75.90     76.42     76.90
            Strike           0.51      1.00      1.50      2.00      2.50      3.00      3.50      4.00      5.00      6.00      7.00      8.00      9.00     10.00     11.00     12.00     13.00     14.00
9Mo       Vol             69.00     59.35     58.46     59.26     60.29     61.28     62.19     63.01     64.44     65.63     66.65     67.53     68.31     69.01     69.64     70.21     70.74     71.22
            Strike           0.55      1.00      1.50      2.00      2.50      3.00      3.50      4.00      5.00      6.00      7.00      8.00      9.00     10.00     11.00     12.00     13.00     14.00
1Yr        Vol             66.10     55.44     51.36     50.18     49.91     49.96     50.15     50.39     50.92     51.44     51.93     52.37     52.78     53.16     53.50     53.82     54.12     54.39
            Strike           0.60      1.00      1.50      2.00      2.50      3.00      3.50      4.00      5.00      6.00      7.00      8.00      9.00     10.00     11.00     12.00     13.00     14.00
2Yr        Vol             55.49     50.39     44.43     41.58     40.04     39.15     38.60     38.26     37.89     37.75     37.71     37.73     37.78     37.84     37.92     38.00     38.08     38.17
            Strike           0.77      1.00      1.50      2.00      2.50      3.00      3.50      4.00      5.00      6.00      7.00      8.00      9.00     10.00     11.00     12.00     13.00     14.00
3Yr        Vol             49.09     47.66     41.56     38.51     36.81     35.80     35.17     34.76     34.30     34.10     34.02     34.01     34.03     34.08     34.14     34.20     34.27     34.34
            Strike           0.92      1.00      1.50      2.00      2.50      3.00      3.50      4.00      5.00      6.00      7.00      8.00      9.00     10.00     11.00     12.00     13.00     14.00
4Yr        Vol             44.56     45.95     39.57     36.28     34.35     33.15     32.36     31.82     31.18     30.85     30.67     30.58     30.54     30.54     30.55     30.58     30.61     30.65
            Strike           1.07      1.00      1.50      2.00      2.50      3.00      3.50      4.00      5.00      6.00      7.00      8.00      9.00     10.00     11.00     12.00     13.00     14.00
5Yr        Vol             41.19     44.83     38.13     34.63     32.46     31.01     30.01     29.30     28.37     27.82     27.47     27.25     27.10     27.00     26.94     26.90     26.87     26.86
            Strike           1.21      1.00      1.50      2.00      2.50      3.00      3.50      4.00      5.00      6.00      7.00      8.00      9.00     10.00     11.00     12.00     13.00     14.00
6Yr        Vol             39.40     44.37     37.45     33.90     31.67     30.18     29.15     28.40     27.43     26.85     26.49     26.26     26.10     26.00     25.93     25.88     25.85     25.84
            Strike           1.31      1.00      1.50      2.00      2.50      3.00      3.50      4.00      5.00      6.00      7.00      8.00      9.00     10.00     11.00     12.00     13.00     14.00
7Yr        Vol             38.20     44.21     37.05     33.43     31.13     29.58     28.49     27.70     26.66     26.05     25.66     25.40     25.23     25.11     25.03     24.98     24.94     24.92
            Strike           1.38      1.00      1.50      2.00      2.50      3.00      3.50      4.00      5.00      6.00      7.00      8.00      9.00     10.00     11.00     12.00     13.00     14.00
8Yr        Vol             37.13     44.04     36.67     32.97     30.61     29.00     27.86     27.03     25.93     25.26     24.84     24.56     24.36     24.23     24.14     24.07     24.03     24.00
            Strike           1.45      1.00      1.50      2.00      2.50      3.00      3.50      4.00      5.00      6.00      7.00      8.00      9.00     10.00     11.00     12.00     13.00     14.00
9Yr        Vol             36.66     44.29     36.64     32.84     30.38     28.69     27.49     26.60     25.41     24.68     24.20     23.88     23.66     23.50     23.39     23.31     23.25     23.21
            Strike           1.50      1.00      1.50      2.00      2.50      3.00      3.50      4.00      5.00      6.00      7.00      8.00      9.00     10.00     11.00     12.00     13.00     14.00
10Yr      Vol             36.18     44.51     36.67     32.69     30.15     28.38     27.11     26.16     24.87     24.07     23.54     23.18     22.93     22.75     22.61     22.51     22.44     22.38
            Strike           1.54      1.00      1.50      2.00      2.50      3.00      3.50      4.00      5.00      6.00      7.00      8.00      9.00     10.00     11.00     12.00     13.00     14.00
12Yr      Vol             37.36     45.87     37.48     33.32     30.63     28.75     27.39     26.36     24.96     24.06     23.46     23.04     22.73     22.50     22.33     22.20     22.10     22.02
            Strike           1.51      1.00      1.50      2.00      2.50      3.00      3.50      4.00      5.00      6.00      7.00      8.00      9.00     10.00     11.00     12.00     13.00     14.00
15Yr      Vol             40.19     48.88     39.35     34.69     31.68     29.57     28.03     26.86     25.22     24.16     23.42     22.89     22.50     22.20     21.96     21.78     21.63     21.51
            Strike           1.43      1.00      1.50      2.00      2.50      3.00      3.50      4.00      5.00      6.00      7.00      8.00      9.00     10.00     11.00     12.00     13.00     14.00
20Yr      Vol             50.26     58.31     44.71     38.44     34.54     31.85     29.87     28.36     26.22     24.78     23.76     23.00     22.42     21.97     21.61     21.31     21.07     20.86
            Strike           1.23      1.00      1.50      2.00      2.50      3.00      3.50      4.00      5.00      6.00      7.00      8.00      9.00     10.00     11.00     12.00     13.00     14.00
25Yr      Vol             66.17     73.52     50.24     41.90     37.12     33.95     31.67     29.95     27.54     25.93     24.80     23.96     23.32     22.82     22.42     22.09     21.81     21.58
            Strike           1.08      1.00      1.50      2.00      2.50      3.00      3.50      4.00      5.00      6.00      7.00      8.00      9.00     10.00     11.00     12.00     13.00     14.00
30Yr      Vol                                      54.94     44.14     38.55     34.98     32.47     30.60     28.00     26.27     25.05     24.15     23.45     22.91     22.47     22.10     21.80     21.54
            Strike           1.01      1.00      1.50      2.00      2.50      3.00      3.50      4.00      5.00      6.00      7.00      8.00      9.00     10.00     11.00     12.00     13.00     14.00

Графически это довольно просто поместить в ячейку «сетка». Это также легко алгоритмически без пропущенных данных (как в предпоследней строке), так как в этом случае можно разделить пробелами в качестве разделителей.

Существуют ли способы сделать это алгоритмически в случае отсутствия данных?

Срок действия и столбцы "vol / strike" постоянны по дням, поэтому мне пришлось бы ограничиться остальными данными. Для этого я не могу найти подходящего определения столбца.

...