• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python assets.AssetFinder类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中zipline.assets.AssetFinder的典型用法代码示例。如果您正苦于以下问题:Python AssetFinder类的具体用法?Python AssetFinder怎么用?Python AssetFinder使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了AssetFinder类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: test_yahoo_bars_to_panel_source

    def test_yahoo_bars_to_panel_source(self):
        env = TradingEnvironment()
        finder = AssetFinder(env.engine)
        stocks = ['AAPL', 'GE']
        env.write_data(equities_identifiers=stocks)
        start = pd.datetime(1993, 1, 1, 0, 0, 0, 0, pytz.utc)
        end = pd.datetime(2002, 1, 1, 0, 0, 0, 0, pytz.utc)
        data = factory.load_bars_from_yahoo(stocks=stocks,
                                            indexes={},
                                            start=start,
                                            end=end)
        check_fields = ['sid', 'open', 'high', 'low', 'close',
                        'volume', 'price']

        copy_panel = data.copy()
        sids = finder.map_identifier_index_to_sids(
            data.items, data.major_axis[0]
        )
        copy_panel.items = sids
        source = DataPanelSource(copy_panel)
        for event in source:
            for check_field in check_fields:
                self.assertIn(check_field, event)
            self.assertTrue(isinstance(event['volume'], (integer_types)))
            self.assertTrue(event['sid'] in sids)
开发者ID:ChinaQuants,项目名称:zipline,代码行数:25,代码来源:test_sources.py


示例2: engine_from_files

def engine_from_files(daily_bar_path,
                      adjustments_path,
                      asset_db_path,
                      calendar,
                      warmup_assets=False):
    """
    Construct a SimplePipelineEngine from local filesystem resources.

    Parameters
    ----------
    daily_bar_path : str
        Path to pass to `BcolzDailyBarReader`.
    adjustments_path : str
        Path to pass to SQLiteAdjustmentReader.
    asset_db_path : str
        Path to pass to `AssetFinder`.
    calendar : pd.DatetimeIndex
        Calendar to use for the loader.
    warmup_assets : bool, optional
        Whether or not to populate AssetFinder caches.  This can speed up
        initial latency on subsequent pipeline runs, at the cost of extra
        memory consumption.  Default is False
    """
    loader = USEquityPricingLoader.from_files(daily_bar_path, adjustments_path)
    asset_finder = AssetFinder(asset_db_path)
    if warmup_assets:
        results = asset_finder.retrieve_all(asset_finder.sids)
        print("Warmed up %d assets." % len(results))

    return SimplePipelineEngine(
        lambda _: loader,
        calendar,
        asset_finder,
    )
开发者ID:AtwooTM,项目名称:zipline,代码行数:34,代码来源:__init__.py


示例3: test_insert_metadata

    def test_insert_metadata(self):
        finder = AssetFinder()
        finder.insert_metadata(0,
                               asset_type='equity',
                               start_date='2014-01-01',
                               end_date='2015-01-01',
                               symbol="PLAY",
                               foo_data="FOO",)

        # Test proper insertion
        self.assertEqual('equity', finder.metadata_cache[0]['asset_type'])
        self.assertEqual('PLAY', finder.metadata_cache[0]['symbol'])
        self.assertEqual('2015-01-01', finder.metadata_cache[0]['end_date'])

        # Test invalid field
        self.assertFalse('foo_data' in finder.metadata_cache[0])

        # Test updating fields
        finder.insert_metadata(0,
                               asset_type='equity',
                               start_date='2014-01-01',
                               end_date='2015-02-01',
                               symbol="PLAY",
                               exchange="NYSE",)
        self.assertEqual('2015-02-01', finder.metadata_cache[0]['end_date'])
        self.assertEqual('NYSE', finder.metadata_cache[0]['exchange'])

        # Check that old data survived
        self.assertEqual('PLAY', finder.metadata_cache[0]['symbol'])
开发者ID:aikssai,项目名称:zipline,代码行数:29,代码来源:test_assets.py


示例4: test_lookup_future_chain

    def test_lookup_future_chain(self):
        metadata = {
            2: {
                'symbol': 'ADN15',
                'root_symbol': 'AD',
                'asset_type': 'future',
                'expiration_date': pd.Timestamp('2015-06-15', tz='UTC')
            },
            1: {
                'symbol': 'ADV15',
                'root_symbol': 'AD',
                'asset_type': 'future',
                'expiration_date': pd.Timestamp('2015-09-14', tz='UTC')
            },
            0: {
                'symbol': 'ADF16',
                'root_symbol': 'AD',
                'asset_type': 'future',
                'expiration_date': pd.Timestamp('2015-12-14', tz='UTC')
            },

        }

        finder = AssetFinder(metadata=metadata)
        dt = pd.Timestamp('2015-06-19', tz='UTC')

        # Check that we get the expected number of contract, in the
        # right order
        ad_contracts = finder.lookup_future_chain('AD', dt)
        self.assertEqual(len(ad_contracts), 2)
        self.assertEqual(ad_contracts[0].sid, 1)
        self.assertEqual(ad_contracts[1].sid, 0)
开发者ID:MVSUSBS,项目名称:zipline,代码行数:32,代码来源:test_assets.py


示例5: test_lookup_generic_handle_missing

    def test_lookup_generic_handle_missing(self):
        data = pd.DataFrame.from_records(
            [
                {
                    'sid': 0,
                    'file_name': 'real',
                    'company_name': 'real',
                    'start_date_nano': pd.Timestamp('2013-1-1', tz='UTC'),
                    'end_date_nano': pd.Timestamp('2014-1-1', tz='UTC'),
                    'exchange': '',
                },
                {
                    'sid': 1,
                    'file_name': 'also_real',
                    'company_name': 'also_real',
                    'start_date_nano': pd.Timestamp('2013-1-1', tz='UTC'),
                    'end_date_nano': pd.Timestamp('2014-1-1', tz='UTC'),
                    'exchange': '',
                },
                # Sid whose end date is before our query date.  We should
                # still correctly find it.
                {
                    'sid': 2,
                    'file_name': 'real_but_old',
                    'company_name': 'real_but_old',
                    'start_date_nano': pd.Timestamp('2002-1-1', tz='UTC'),
                    'end_date_nano': pd.Timestamp('2003-1-1', tz='UTC'),
                    'exchange': '',
                },
                # Sid whose start_date is **after** our query date.  We should
                # **not** find it.
                {
                    'sid': 3,
                    'file_name': 'real_but_in_the_future',
                    'company_name': 'real_but_in_the_future',
                    'start_date_nano': pd.Timestamp('2014-1-1', tz='UTC'),
                    'end_date_nano': pd.Timestamp('2020-1-1', tz='UTC'),
                    'exchange': 'THE FUTURE',
                },
            ]
        )
        finder = AssetFinder(data)
        results, missing = finder.lookup_generic(
            ['real', 1, 'fake', 'real_but_old', 'real_but_in_the_future'],
            pd.Timestamp('2013-02-01', tz='UTC'),
        )

        self.assertEqual(len(results), 3)
        self.assertEqual(results[0].symbol, 'real')
        self.assertEqual(results[0].sid, 0)
        self.assertEqual(results[1].symbol, 'also_real')
        self.assertEqual(results[1].sid, 1)
        self.assertEqual(results[2].symbol, 'real_but_old')
        self.assertEqual(results[2].sid, 2)

        self.assertEqual(len(missing), 2)
        self.assertEqual(missing[0], 'fake')
        self.assertEqual(missing[1], 'real_but_in_the_future')
开发者ID:runtBlue,项目名称:zipline,代码行数:58,代码来源:test_assets.py


示例6: test_lookup_future_chain

    def test_lookup_future_chain(self):
        metadata = {
            # Expires today, so should be valid
            2: {
                'symbol': 'ADN15',
                'root_symbol': 'AD',
                'asset_type': 'future',
                'expiration_date': pd.Timestamp('2015-06-15', tz='UTC'),
                'start_date': pd.Timestamp('2015-01-01', tz='UTC')
            },
            1: {
                'symbol': 'ADV15',
                'root_symbol': 'AD',
                'asset_type': 'future',
                'expiration_date': pd.Timestamp('2015-09-14', tz='UTC'),
                'start_date': pd.Timestamp('2015-01-01', tz='UTC')
            },
            # Starts trading today, so should be valid.
            0: {
                'symbol': 'ADF16',
                'root_symbol': 'AD',
                'asset_type': 'future',
                'expiration_date': pd.Timestamp('2015-12-14', tz='UTC'),
                'start_date': pd.Timestamp('2015-06-15', tz='UTC')
            },
            # Copy of the above future, but starts trading in August,
            # so it isn't valid.
            3: {
                'symbol': 'ADF16',
                'root_symbol': 'AD',
                'asset_type': 'future',
                'expiration_date': pd.Timestamp('2015-12-14', tz='UTC'),
                'start_date': pd.Timestamp('2015-08-01', tz='UTC')
            },

        }

        finder = AssetFinder(metadata=metadata)
        dt = pd.Timestamp('2015-06-15', tz='UTC')
        last_year = pd.Timestamp('2014-01-01', tz='UTC')
        first_day = pd.Timestamp('2015-01-01', tz='UTC')

        # Check that we get the expected number of contracts, in the
        # right order
        ad_contracts = finder.lookup_future_chain('AD', dt, dt)
        self.assertEqual(len(ad_contracts), 3)
        self.assertEqual(ad_contracts[0].sid, 2)
        self.assertEqual(ad_contracts[1].sid, 1)
        self.assertEqual(ad_contracts[2].sid, 0)

        # Check that we get nothing if our knowledge date is last year
        ad_contracts = finder.lookup_future_chain('AD', dt, last_year)
        self.assertEqual(len(ad_contracts), 0)

        # Check that we get things that start on the knowledge date
        ad_contracts = finder.lookup_future_chain('AD', dt, first_day)
        self.assertEqual(len(ad_contracts), 2)
开发者ID:easunlu,项目名称:zipline,代码行数:57,代码来源:test_assets.py


示例7: test_lookup_symbol_delimited

    def test_lookup_symbol_delimited(self):
        as_of = pd.Timestamp("2013-01-01", tz="UTC")
        frame = pd.DataFrame.from_records(
            [
                {
                    "sid": i,
                    "symbol": "TEST.%d" % i,
                    "company_name": "company%d" % i,
                    "start_date": as_of.value,
                    "end_date": as_of.value,
                    "exchange": uuid.uuid4().hex,
                }
                for i in range(3)
            ]
        )
        self.env.write_data(equities_df=frame)
        finder = AssetFinder(self.env.engine)
        asset_0, asset_1, asset_2 = (finder.retrieve_asset(i) for i in range(3))

        # we do it twice to catch caching bugs
        for i in range(2):
            with self.assertRaises(SymbolNotFound):
                finder.lookup_symbol("TEST", as_of)
            with self.assertRaises(SymbolNotFound):
                finder.lookup_symbol("TEST1", as_of)
            # '@' is not a supported delimiter
            with self.assertRaises(SymbolNotFound):
                finder.lookup_symbol("[email protected]", as_of)

            # Adding an unnecessary fuzzy shouldn't matter.
            for fuzzy_char in ["-", "/", "_", "."]:
                self.assertEqual(asset_1, finder.lookup_symbol("TEST%s1" % fuzzy_char, as_of))
开发者ID:ngdanielsimeon,项目名称:zipline,代码行数:32,代码来源:test_assets.py


示例8: test_lookup_generic_handle_missing

    def test_lookup_generic_handle_missing(self):
        data = pd.DataFrame.from_records(
            [
                {
                    'sid': 0,
                    'symbol': 'real',
                    'start_date': pd.Timestamp('2013-1-1', tz='UTC'),
                    'end_date': pd.Timestamp('2014-1-1', tz='UTC'),
                    'exchange': '',
                },
                {
                    'sid': 1,
                    'symbol': 'also_real',
                    'start_date': pd.Timestamp('2013-1-1', tz='UTC'),
                    'end_date': pd.Timestamp('2014-1-1', tz='UTC'),
                    'exchange': '',
                },
                # Sid whose end date is before our query date.  We should
                # still correctly find it.
                {
                    'sid': 2,
                    'symbol': 'real_but_old',
                    'start_date': pd.Timestamp('2002-1-1', tz='UTC'),
                    'end_date': pd.Timestamp('2003-1-1', tz='UTC'),
                    'exchange': '',
                },
                # Sid whose start_date is **after** our query date.  We should
                # **not** find it.
                {
                    'sid': 3,
                    'symbol': 'real_but_in_the_future',
                    'start_date': pd.Timestamp('2014-1-1', tz='UTC'),
                    'end_date': pd.Timestamp('2020-1-1', tz='UTC'),
                    'exchange': 'THE FUTURE',
                },
            ]
        )
        self.env.write_data(equities_df=data)
        finder = AssetFinder(self.env.engine)
        results, missing = finder.lookup_generic(
            ['REAL', 1, 'FAKE', 'REAL_BUT_OLD', 'REAL_BUT_IN_THE_FUTURE'],
            pd.Timestamp('2013-02-01', tz='UTC'),
        )

        self.assertEqual(len(results), 3)
        self.assertEqual(results[0].symbol, 'REAL')
        self.assertEqual(results[0].sid, 0)
        self.assertEqual(results[1].symbol, 'ALSO_REAL')
        self.assertEqual(results[1].sid, 1)
        self.assertEqual(results[2].symbol, 'REAL_BUT_OLD')
        self.assertEqual(results[2].sid, 2)

        self.assertEqual(len(missing), 2)
        self.assertEqual(missing[0], 'FAKE')
        self.assertEqual(missing[1], 'REAL_BUT_IN_THE_FUTURE')
开发者ID:plogix,项目名称:zipline,代码行数:55,代码来源:test_assets.py


示例9: test_lookup_generic_handle_missing

    def test_lookup_generic_handle_missing(self):
        data = pd.DataFrame.from_records(
            [
                {
                    "sid": 0,
                    "symbol": "real",
                    "start_date": pd.Timestamp("2013-1-1", tz="UTC"),
                    "end_date": pd.Timestamp("2014-1-1", tz="UTC"),
                    "exchange": "",
                },
                {
                    "sid": 1,
                    "symbol": "also_real",
                    "start_date": pd.Timestamp("2013-1-1", tz="UTC"),
                    "end_date": pd.Timestamp("2014-1-1", tz="UTC"),
                    "exchange": "",
                },
                # Sid whose end date is before our query date.  We should
                # still correctly find it.
                {
                    "sid": 2,
                    "symbol": "real_but_old",
                    "start_date": pd.Timestamp("2002-1-1", tz="UTC"),
                    "end_date": pd.Timestamp("2003-1-1", tz="UTC"),
                    "exchange": "",
                },
                # Sid whose start_date is **after** our query date.  We should
                # **not** find it.
                {
                    "sid": 3,
                    "symbol": "real_but_in_the_future",
                    "start_date": pd.Timestamp("2014-1-1", tz="UTC"),
                    "end_date": pd.Timestamp("2020-1-1", tz="UTC"),
                    "exchange": "THE FUTURE",
                },
            ]
        )
        self.env.write_data(equities_df=data)
        finder = AssetFinder(self.env.engine)
        results, missing = finder.lookup_generic(
            ["REAL", 1, "FAKE", "REAL_BUT_OLD", "REAL_BUT_IN_THE_FUTURE"], pd.Timestamp("2013-02-01", tz="UTC")
        )

        self.assertEqual(len(results), 3)
        self.assertEqual(results[0].symbol, "REAL")
        self.assertEqual(results[0].sid, 0)
        self.assertEqual(results[1].symbol, "ALSO_REAL")
        self.assertEqual(results[1].sid, 1)
        self.assertEqual(results[2].symbol, "REAL_BUT_OLD")
        self.assertEqual(results[2].sid, 2)

        self.assertEqual(len(missing), 2)
        self.assertEqual(missing[0], "FAKE")
        self.assertEqual(missing[1], "REAL_BUT_IN_THE_FUTURE")
开发者ID:ngdanielsimeon,项目名称:zipline,代码行数:54,代码来源:test_assets.py


示例10: test_sid_assignment

    def test_sid_assignment(self):

        # This metadata does not contain SIDs
        metadata = {'PLAY': {'symbol': 'PLAY'},
                    'MSFT': {'symbol': 'MSFT'}}

        # Build a finder that is allowed to assign sids
        finder = AssetFinder(metadata=metadata, allow_sid_assignment=True)

        # Verify that Assets were built
        play = finder.retrieve_asset_by_identifier('PLAY')
        self.assertEqual('PLAY', play.symbol)
开发者ID:hackerwei,项目名称:zipline,代码行数:12,代码来源:test_assets.py


示例11: test_insert_metadata

    def test_insert_metadata(self):
        data = {0: {"start_date": "2014-01-01", "end_date": "2015-01-01", "symbol": "PLAY", "foo_data": "FOO"}}
        self.env.write_data(equities_data=data)
        finder = AssetFinder(self.env.engine)
        # Test proper insertion
        equity = finder.retrieve_asset(0)
        self.assertIsInstance(equity, Equity)
        self.assertEqual("PLAY", equity.symbol)
        self.assertEqual(pd.Timestamp("2015-01-01", tz="UTC"), equity.end_date)

        # Test invalid field
        with self.assertRaises(AttributeError):
            equity.foo_data
开发者ID:ngdanielsimeon,项目名称:zipline,代码行数:13,代码来源:test_assets.py


示例12: test_sid_assignment

    def test_sid_assignment(self):

        # This metadata does not contain SIDs
        metadata = {'PLAY': {'symbol': 'PLAY'},
                    'MSFT': {'symbol': 'MSFT'}}

        # Build a finder that is allowed to assign sids
        finder = AssetFinder(metadata=metadata, allow_sid_assignment=True)

        # Verify that Assets were built and different sids were assigned
        play = finder.lookup_symbol('PLAY', datetime.now())
        msft = finder.lookup_symbol('MSFT', datetime.now())
        self.assertEqual('PLAY', play.symbol)
        self.assertIsNotNone(play.sid)
        self.assertNotEqual(play.sid, msft.sid)
开发者ID:aikssai,项目名称:zipline,代码行数:15,代码来源:test_assets.py


示例13: test_insert_metadata

    def test_insert_metadata(self):
        data = {0: {'start_date': '2014-01-01',
                    'end_date': '2015-01-01',
                    'symbol': "PLAY",
                    'foo_data': "FOO"}}
        self.env.write_data(equities_data=data)
        finder = AssetFinder(self.env.engine)
        # Test proper insertion
        equity = finder.retrieve_asset(0)
        self.assertIsInstance(equity, Equity)
        self.assertEqual('PLAY', equity.symbol)
        self.assertEqual(pd.Timestamp('2015-01-01', tz='UTC'),
                         equity.end_date)

        # Test invalid field
        with self.assertRaises(AttributeError):
            equity.foo_data
开发者ID:sxfmol,项目名称:zipline,代码行数:17,代码来源:test_assets.py


示例14: test_sid_assignment

    def test_sid_assignment(self):

        # This metadata does not contain SIDs
        metadata = ["PLAY", "MSFT"]

        today = normalize_date(pd.Timestamp("2015-07-09", tz="UTC"))

        # Write data with sid assignment
        self.env.write_data(equities_identifiers=metadata, allow_sid_assignment=True)

        # Verify that Assets were built and different sids were assigned
        finder = AssetFinder(self.env.engine)
        play = finder.lookup_symbol("PLAY", today)
        msft = finder.lookup_symbol("MSFT", today)
        self.assertEqual("PLAY", play.symbol)
        self.assertIsNotNone(play.sid)
        self.assertNotEqual(play.sid, msft.sid)
开发者ID:ngdanielsimeon,项目名称:zipline,代码行数:17,代码来源:test_assets.py


示例15: test_consume_asset_as_identifier

    def test_consume_asset_as_identifier(self):
        # Build some end dates
        eq_end = pd.Timestamp("2012-01-01", tz="UTC")
        fut_end = pd.Timestamp("2008-01-01", tz="UTC")

        # Build some simple Assets
        equity_asset = Equity(1, symbol="TESTEQ", end_date=eq_end)
        future_asset = Future(200, symbol="TESTFUT", end_date=fut_end)

        # Consume the Assets
        self.env.write_data(equities_identifiers=[equity_asset], futures_identifiers=[future_asset])
        finder = AssetFinder(self.env.engine)

        # Test equality with newly built Assets
        self.assertEqual(equity_asset, finder.retrieve_asset(1))
        self.assertEqual(future_asset, finder.retrieve_asset(200))
        self.assertEqual(eq_end, finder.retrieve_asset(1).end_date)
        self.assertEqual(fut_end, finder.retrieve_asset(200).end_date)
开发者ID:ngdanielsimeon,项目名称:zipline,代码行数:18,代码来源:test_assets.py


示例16: test_sid_assignment

    def test_sid_assignment(self):

        # This metadata does not contain SIDs
        metadata = {'PLAY': {'symbol': 'PLAY'},
                    'MSFT': {'symbol': 'MSFT'}}

        today = normalize_date(pd.Timestamp('2015-07-09', tz='UTC'))

        # Build a finder that is allowed to assign sids
        finder = AssetFinder(metadata=metadata,
                             allow_sid_assignment=True)

        # Verify that Assets were built and different sids were assigned
        play = finder.lookup_symbol('PLAY', today)
        msft = finder.lookup_symbol('MSFT', today)
        self.assertEqual('PLAY', play.symbol)
        self.assertIsNotNone(play.sid)
        self.assertNotEqual(play.sid, msft.sid)
开发者ID:ronalcc,项目名称:zipline,代码行数:18,代码来源:test_assets.py


示例17: test_insert_metadata

    def test_insert_metadata(self):
        finder = AssetFinder()
        finder.insert_metadata(0,
                               asset_type='equity',
                               start_date='2014-01-01',
                               end_date='2015-01-01',
                               symbol="PLAY",
                               foo_data="FOO",)

        # Test proper insertion
        equity = finder.retrieve_asset(0)
        self.assertIsInstance(equity, Equity)
        self.assertEqual('PLAY', equity.symbol)
        self.assertEqual(pd.Timestamp('2015-01-01', tz='UTC'),
                         equity.end_date)

        # Test invalid field
        self.assertFalse('foo_data' in finder.metadata_cache[0])
开发者ID:ronalcc,项目名称:zipline,代码行数:18,代码来源:test_assets.py


示例18: test_map_identifier_index_to_sids

    def test_map_identifier_index_to_sids(self):
        # Build an empty finder and some Assets
        dt = pd.Timestamp("2014-01-01", tz="UTC")
        finder = AssetFinder(self.env.engine)
        asset1 = Equity(1, symbol="AAPL")
        asset2 = Equity(2, symbol="GOOG")
        asset200 = Future(200, symbol="CLK15")
        asset201 = Future(201, symbol="CLM15")

        # Check for correct mapping and types
        pre_map = [asset1, asset2, asset200, asset201]
        post_map = finder.map_identifier_index_to_sids(pre_map, dt)
        self.assertListEqual([1, 2, 200, 201], post_map)
        for sid in post_map:
            self.assertIsInstance(sid, int)

        # Change order and check mapping again
        pre_map = [asset201, asset2, asset200, asset1]
        post_map = finder.map_identifier_index_to_sids(pre_map, dt)
        self.assertListEqual([201, 2, 200, 1], post_map)
开发者ID:ngdanielsimeon,项目名称:zipline,代码行数:20,代码来源:test_assets.py


示例19: test_compute_lifetimes

    def test_compute_lifetimes(self, env=None):
        num_assets = 4
        trading_day = env.trading_day
        first_start = pd.Timestamp('2015-04-01', tz='UTC')

        frame = make_rotating_asset_info(
            num_assets=num_assets,
            first_start=first_start,
            frequency=env.trading_day,
            periods_between_starts=3,
            asset_lifetime=5
        )
        finder = AssetFinder(frame)

        all_dates = pd.date_range(
            start=first_start,
            end=frame.end_date.max(),
            freq=trading_day,
        )

        for dates in all_subindices(all_dates):
            expected_mask = full(
                shape=(len(dates), num_assets),
                fill_value=False,
                dtype=bool,
            )

            for i, date in enumerate(dates):
                it = frame[['start_date', 'end_date']].itertuples()
                for j, start, end in it:
                    if start <= date <= end:
                        expected_mask[i, j] = True

            # Filter out columns with all-empty columns.
            expected_result = pd.DataFrame(
                data=expected_mask,
                index=dates,
                columns=frame.sid.values,
            )
            actual_result = finder.lifetimes(dates)
            assert_frame_equal(actual_result, expected_result)
开发者ID:runtBlue,项目名称:zipline,代码行数:41,代码来源:test_assets.py


示例20: test_consume_metadata

    def test_consume_metadata(self):

        # Test dict consumption
        finder = AssetFinder({0: {'asset_type': 'equity'}})
        dict_to_consume = {0: {'symbol': 'PLAY'},
                           1: {'symbol': 'MSFT'}}
        finder.consume_metadata(dict_to_consume)
        self.assertEqual('equity', finder.metadata_cache[0]['asset_type'])
        self.assertEqual('PLAY', finder.metadata_cache[0]['symbol'])

        # Test dataframe consumption
        df = pd.DataFrame(columns=['asset_name', 'exchange'], index=[0, 1])
        df['asset_name'][0] = "Dave'N'Busters"
        df['exchange'][0] = "NASDAQ"
        df['asset_name'][1] = "Microsoft"
        df['exchange'][1] = "NYSE"
        finder.consume_metadata(df)
        self.assertEqual('NASDAQ', finder.metadata_cache[0]['exchange'])
        self.assertEqual('Microsoft', finder.metadata_cache[1]['asset_name'])
        # Check that old data survived
        self.assertEqual('equity', finder.metadata_cache[0]['asset_type'])
开发者ID:aikssai,项目名称:zipline,代码行数:21,代码来源:test_assets.py



注:本文中的zipline.assets.AssetFinder类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python synthetic.make_simple_equity_info函数代码示例发布时间:2022-05-26
下一篇:
Python api.symbol函数代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap