示例#1
0
            label_name = line['label']
            color = line['color']
            line = Lines(x=input_df['datetime'][::stride],
                         y=input_df[col_name][::stride],
                         scales={
                             'x': date_co,
                             'y': linear_co
                         },
                         colors=[color],
                         labels=[label_name],
                         display_legend=True)
            lines.append(line)
        new_fig = Figure(marks=lines,
                         axes=[yax, xax],
                         title=self.conf['title'],
                         interaction=panzoom_main)
        return new_fig


if __name__ == "__main__":
    from gquant.dataloader.csvStockLoader import CsvStockLoader
    from gquant.transform.averageNode import AverageNode
    from gquant.analysis.outCsvNode import OutCsvNode

    loader = CsvStockLoader("id0", {}, True, False)
    df = loader([])
    vf = AverageNode("id1", {"column": "volume"})
    df2 = vf([df])
    o = OutCsvNode("id3", {"path": "o.csv"})
    o([df2])
示例#2
0

class AssetFilterNode(Node):
    def process(self, inputs):
        """
        select the asset based on asset id, which is defined in `asset` in the
        nodes' conf

        Arguments
        -------
         inputs: list
            list of input dataframes.
        Returns
        -------
        dataframe
        """
        input_df = inputs[0]
        output_df = input_df.query('asset==%s' % self.conf["asset"])
        return output_df

    def columns_setup(self):
        self.required = {"asset": "int64"}


if __name__ == "__main__":
    from gquant.dataloader.csvStockLoader import CsvStockLoader
    loader = CsvStockLoader("node_csvdata", {}, True, False)
    df = loader([])
    sf = AssetFilterNode("id2", {"asset": 22123})
    df2 = sf([df])