数字货币量化教程——使用itertools实现各类排列组合

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

 

1、数据准备函数

import itertools
items = [1, 2, 3]

ab = ['a', 'b']
cd = ['c', 'd']

 

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

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

返回code

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

 

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

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

返回it

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

 

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

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

返回class

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

 

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

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

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

返回

('a', 'c')
('a', 'd')
('b', 'c')
('b', 'd')
相关文章
相关标签/搜索