aws-samples / algorithmic-trading
Duplication

Places in code with 6 or more lines that are exactly the same.

Intro
  • For duplication, we look at places in code where there are 6 or more lines of code that are exactly the same.
  • Before duplication is calculated, the code is cleaned to remove empty lines, comments, and frequently duplicated constructs such as imports.
  • You should aim at having as little as possible (<5%) of duplicated code as high-level of duplication can lead to maintenance difficulties, poor factoring, and logical contradictions.
Learn more...
Duplication Overall
  • 62% duplication:
    • 1,536 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 964 duplicated lines
  • 37 duplicates
system62% (964 lines)
Duplication per Extension
py87% (583 lines)
yaml43% (381 lines)
Duplication per Component (primary)
4_Kinesis/model99% (268 lines)
2_Strategies/model99% (268 lines)
0_Setup41% (217 lines)
4_Kinesis48% (178 lines)
3_Models/model42% (19 lines)
2_Strategies53% (14 lines)
1_Data0% (0 lines)

Duplication Between Components (50+ lines)

G 2_Strategies/model 2_Strategies/model 4_Kinesis/model 4_Kinesis/model 2_Strategies/model--4_Kinesis/model 536 0_Setup 0_Setup 4_Kinesis 4_Kinesis 0_Setup--4_Kinesis 212

Download: SVG DOT (open online Graphviz editor)

Open 3D force graph...

Show more details on duplication between components...
Longest Duplicates
The list of 20 longest duplicates.
See data for all 37 duplicates...
Size#FoldersFilesLinesCode
120 x 2 2_Strategies/model
4_Kinesis/model
algo_base.py
algo_base.py
15:168 (100%)
15:168 (100%)
view
60 x 2 2_Strategies/model
4_Kinesis/model
algo_sim_feed.py
algo_sim_feed.py
15:100 (100%)
15:100 (100%)
view
57 x 2 2_Strategies/model
4_Kinesis/model
algo_live_feed.py
algo_live_feed.py
15:94 (100%)
15:94 (100%)
view
31 x 2 2_Strategies/model
4_Kinesis/model
predictor.py
predictor.py
19:79 (100%)
19:79 (100%)
view
25 x 2 0_Setup
0_Setup
algo-reference.yaml
algo-reference.yaml
319:343 (4%)
362:386 (4%)
view
19 x 2 2_Strategies/model
3_Models/model
predictor.py
predictor.py
19:59 (61%)
19:59 (43%)
view
19 x 2 3_Models/model
4_Kinesis/model
predictor.py
predictor.py
19:59 (43%)
19:59 (61%)
view
17 x 2 0_Setup
4_Kinesis
algo-reference.yaml
algo-kinesis.yaml
213:229 (3%)
336:352 (4%)
view
17 x 2 0_Setup
4_Kinesis
algo-reference.yaml
algo-kinesis.yaml
139:157 (3%)
99:117 (4%)
view
15 x 2 0_Setup
4_Kinesis
algo-reference.yaml
algo-kinesis.yaml
232:246 (2%)
315:329 (4%)
view
14 x 2 0_Setup
0_Setup
algo-reference.yaml
algo-reference.yaml
268:281 (2%)
284:297 (2%)
view
14 x 2 0_Setup
4_Kinesis
algo-reference.yaml
algo-kinesis.yaml
57:71 (2%)
63:77 (4%)
view
13 x 2 4_Kinesis
4_Kinesis
algo-kinesis.yaml
algo-kinesis.yaml
175:187 (3%)
224:236 (3%)
view
12 x 2 0_Setup
4_Kinesis
algo-reference.yaml
algo-kinesis.yaml
10:23 (2%)
7:20 (3%)
view
10 x 2 4_Kinesis
4_Kinesis
algo-kinesis.yaml
algo-kinesis.yaml
123:132 (2%)
140:149 (2%)
view
9 x 2 4_Kinesis
4_Kinesis
algo-kinesis.yaml
algo-kinesis.yaml
123:131 (2%)
226:234 (2%)
view
9 x 2 4_Kinesis
4_Kinesis
algo-kinesis.yaml
algo-kinesis.yaml
123:131 (2%)
177:185 (2%)
view
9 x 2 0_Setup
4_Kinesis
algo-reference.yaml
algo-kinesis.yaml
74:82 (1%)
80:88 (2%)
view
9 x 2 4_Kinesis
4_Kinesis
algo-kinesis.yaml
algo-kinesis.yaml
140:148 (2%)
226:234 (2%)
view
9 x 2 4_Kinesis
4_Kinesis
algo-kinesis.yaml
algo-kinesis.yaml
140:148 (2%)
177:185 (2%)
view
Duplicated Units
The list of top 14 duplicated units.
See data for all 14 unit duplicates...
Size#FoldersFilesLinesCode
43 x 2 4_Kinesis/model
2_Strategies/model
algo_sim_feed.py
algo_sim_feed.py
0:0 
0:0 
view
40 x 2 4_Kinesis/model
2_Strategies/model
algo_base.py
algo_base.py
0:0 
0:0 
view
33 x 2 4_Kinesis/model
2_Strategies/model
algo_live_feed.py
algo_live_feed.py
0:0 
0:0 
view
24 x 2 4_Kinesis/model
2_Strategies/model
algo_base.py
algo_base.py
0:0 
0:0 
view
18 x 2 4_Kinesis/model
2_Strategies/model
algo_sim_feed.py
algo_sim_feed.py
0:0 
0:0 
view
11 x 2 4_Kinesis/model
2_Strategies/model
algo_base.py
algo_base.py
0:0 
0:0 
view
13 x 2 4_Kinesis/model
2_Strategies/model
algo_base.py
algo_base.py
0:0 
0:0 
view
9 x 2 4_Kinesis/model
2_Strategies/model
algo_base.py
algo_base.py
0:0 
0:0 
view
12 x 2 4_Kinesis/model
2_Strategies/model
predictor.py
predictor.py
0:0 
0:0 
view
6 x 2 4_Kinesis/model
2_Strategies/model
algo_base.py
algo_base.py
0:0 
0:0 
view
11 x 2 4_Kinesis/model
2_Strategies/model
algo_live_feed.py
algo_live_feed.py
0:0 
0:0 
view
7 x 2 4_Kinesis/model
2_Strategies/model
algo_live_feed.py
algo_live_feed.py
0:0 
0:0 
view
8 x 3 4_Kinesis/model
2_Strategies/model
3_Models/model
predictor.py
predictor.py
predictor.py
0:0 
0:0 
0:0 
view
10 x 3 4_Kinesis/model
2_Strategies/model
3_Models/model
predictor.py
predictor.py
predictor.py
0:0 
0:0 
0:0 
view