zoukankan      html  css  js  c++  java
  • 数字货币量化教程——使用itertools实现各种排列组合

    在量化数据处理中,经常使用itertools来完成数据的各种排列组合以寻找最优参数

    一、数据准备

    import itertools
    items = [1, 2, 3]
    
    ab = ['a', 'b']
    cd = ['c', 'd']

    #1. permutations: 考虑顺序组合元素

    for item in itertools.permutations(items):
        print(item)

    返回

    (1, 2, 3)
    (1, 3, 2)
    (2, 1, 3)
    (2, 3, 1)
    (3, 1, 2)
    (3, 2, 1)

    #2. combinations,不考虑顺序,不放回数据

    for item in itertools.combinations(items, 2):
        print(item)

    返回

    (1, 2)
    (1, 3)
    (2, 3)

    # 3. combinations_with_replacement,不考虑顺序,有放回数据

    for item in itertools.combinations_with_replacement(items, 2):
        print(item)

    返回

    (1, 1)
    (1, 2)
    (1, 3)
    (2, 2)
    (2, 3)
    (3, 3)

    # 4. product()函数,迪卡尔积,在参数组合中寻找最优参数

    针对ab,cd两个集合进行排列组合

    for item in itertools.product(ab, cd):
        print(item)

    返回

    ('a', 'c')
    ('a', 'd')
    ('b', 'c')
    ('b', 'd')
  • 相关阅读:
    hdu 1240 Asteroids!
    hdu 1253 胜利大逃亡
    hdu 1035 Robot Motion
    hdu 1181 变形课
    hdu 1548 A strange lift
    DFS Sum It Up
    hdu 3278 Catch That Cow
    hdu 1312 Red and Black
    ACM菜鸟
    eclipse新建安卓项目点击finish后窗口无法关闭
  • 原文地址:https://www.cnblogs.com/bitquant/p/10560946.html
Copyright © 2011-2022 走看看