Exemplo n.º 1
0
def test_seg_split_xdown_d():
    s = twine.KSeq('day',[])
    s._strokes = [
        fakeStroke({'from':(0,9),'to':(1,5),'isUp':False,'growing':False}),
        fakeStroke({'from':(1,5),'to':(2,6),'isUp':True,'growing':False}),
        fakeStroke({'from':(2,6),'to':(3,2),'isUp':False,'growing':False}),
        fakeStroke({'from':(3,2),'to':(4,7),'isUp':True,'growing':False}),
        fakeStroke({'from':(4,7),'to':(5,4),'isUp':False,'growing':False}),
        fakeStroke({'from':(5,4),'to':(6,6),'isUp':True,'growing':False}),
        fakeStroke({'from':(6,6),'to':(7,3),'isUp':False,'growing':False}),
        fakeStroke({'from':(7,3),'to':(8,8),'isUp':True,'growing':False})
        ]
    s.makeupSegment()
    
    assert(2 == len(s._segment))
    assert(eval(str(s._segment[0])) == {
        'from': (0,9),
        'to': (3,2),
        'isUp': False,
        'bi': [0,1,2],
        'growing':False
        })
    assert(eval(str(s._segment[1])) == {
        'from': (3,2),
        'to': (8,8),
        'isUp': True,
        'bi': [3,4,5,6,7],
        'growing':True
        })
Exemplo n.º 2
0
def test_kseq_merge():
    ks = [
     ('2018/3/21',11.95,12.12,11.9,11.85,1445109.5)
    ,('2018/3/22',11.9,11.97,11.66,11.62,984278.38)
    ,('2018/3/23',11.25,11.35,11.34,10.92,1825690.75)
    ,('2018/3/26',11.15,11.2,10.93,10.86,1383598.5)#1
    ,('2018/3/27',11.1,11.17,10.94,10.86,1103933.62)#1
    ,('2018/3/28',10.85,11.14,10.89,10.79,1099023.38)#2
    ,('2018/3/29',10.92,11.17,11.05,10.55,1330602.38)#2
    ,('2018/3/30',11.04,11.05,10.9,10.88,752173.69)#2
    ,('2018/4/2',10.87,10.99,10.71,10.7,1109316.38)#2
    ,('2018/4/3',10.6,10.67,10.56,10.51,890745.69)
    ,('2018/4/4',10.68,11.01,10.87,10.6,1602488.75)
    ,('2018/4/9',10.8,11.1,11.02,10.73,1074795.75)
    ,('2018/4/10',11.02,11.46,11.42,10.97,1390950.75)
        ]

    s = twine.KSeq('day',ks)
##    import pdb;pdb.set_trace()
    assert s._norm[3].merged
    assert s._norm[3].ingredient == [3,4]
    assert s._norm[4].merged
    assert s._norm[4].ingredient == [5,6,7,8]
    assert s._seq[3].merged == s._norm[3]
    assert s._seq[4].merged == s._norm[3]
    assert s._seq[5].merged == s._norm[4]
    assert s._seq[6].merged == s._norm[4]
    assert s._seq[7].merged == s._norm[4]
    assert s._seq[8].merged == s._norm[4]
Exemplo n.º 3
0
def test_strokes_spliting_12():
    ks = [  #date,open,high,close,low,volume
            ('2018/1/1',11,13,13,11,100)
            ,('2018/1/2',12,14,14,12,100)
            ,('2018/1/3',13,15,15,13,100)##top
            , ('2018/1/4',12,14,14,12, 100)
            , ('2018/1/5',11,13,13,11, 100)
            , ('2018/1/6', 9,11,11, 9, 100)
            , ('2018/1/7', 7, 9, 9, 7, 100)
            , ('2018/1/8', 5, 7, 7, 5, 100)#
            , ('2018/1/9', 6, 8, 8, 6, 100)
            , ('2018/1/10', 7, 9, 9, 7, 100)##
            , ('2018/1/11', 4, 8, 8, 4, 100)#
            , ('2018/1/12', 7, 11, 11, 7, 100)##
            , ('2018/1/13', 6, 8, 8, 6, 100)
            , ('2018/1/14', 5, 7, 7, 5, 100)
            , ('2018/1/15', 4, 6, 6, 4, 100)           
            , ('2018/1/16', 3, 5, 5, 3, 100)#
            , ('2018/1/17', 4, 6, 6, 4, 100)
        ]

    ks = twine.KSeq('day',ks)
    assert len(ks._strokes) == 1

    assert ks._strokes[0].to_dict() =={
                        'from':(2,15),
                        'to':(15,3),
                        'isUp':False,
                        'growing':True
                        }
Exemplo n.º 4
0
def test_seg_split_a():
    s = twine.KSeq('day',[])
    s._strokes = [
        fakeStroke({'from':(0,1),'to':(2,5),'isUp':True,'growing':False}),
        fakeStroke({'from':(2,5),'to':(4,3),'isUp':False,'growing':False}),
        fakeStroke({'from':(4,3),'to':(6,8),'isUp':True,'growing':False}),
        fakeStroke({'from':(6,8),'to':(8,4),'isUp':False,'growing':False}),
        fakeStroke({'from':(8,4),'to':(10,6),'isUp':True,'growing':False}),
        fakeStroke({'from':(10,6),'to':(12,2),'isUp':False,'growing':False})
        ]
    s.makeupSegment()

    assert(2 == len(s._segment))

    assert(eval(str(s._segment[0])) == {
        'from': (0,1),
        'to': (6,8),
        'isUp': True,
        'bi': [0,1,2],
        'growing':False
        })
    assert(eval(str(s._segment[1])) == {
        'from': (6,8),
        'to': (12,2),
        'isUp': False,
        'bi': [3,4,5],
        'growing':True
        })
    assert(s._segment[0]['from']==(0,1))
    assert(s._segment[0]['to']==(6,8))
    assert(s._segment[0]['growing']==False)
    assert(s._segment[1]['growing']==True)
Exemplo n.º 5
0
def test_seg_split_compound_3():
    import pandas as pd
    df = pd.read_csv('./tests/fixtures/300141_d_stroke.csv',header=0,names=['date','stroke'])
    s = twine.KSeq('day',[])
    s._strokes = []
    t0 = None
    for t in df.itertuples():
        if t0 is not None:
            up = True if t.stroke>t0.stroke else False
            s._strokes.append(fakeStroke({
                'from':(t0.Index,t0.stroke),
                'to':(t.Index,t.stroke),
                'isUp':up,
                'growing':False}))
        t0 = t

    

    s.makeupSegment()
    assert(8 == len(s._segment))
    assert(eval(str(s._segment[-1])) == {
        'from': (34,19.751),
        'to': (47,7.18),
        'isUp': False,
        'bi': [34,35,36,37,38,39,40,41,42,43,44,45,46],
        'growing':True
        })  
Exemplo n.º 6
0
def test_strokes_spliting_8():
    ks = [
            ('2018/1/1',11,13,13,11,100)
            ,('2018/1/2',12,14,14,12,100)
            ,('2018/1/3',13,15,15,13,100)
            , ('2018/1/4', 12, 14, 14, 12, 100)
            , ('2018/1/5', 11, 13, 13,11, 100)
            , ('2018/1/6', 9, 11, 11, 9, 100)
            , ('2018/1/7', 7, 9, 9, 7, 100)
            , ('2018/1/8', 5, 7, 7, 5, 100)
            , ('2018/1/9', 6, 8, 8, 6, 100)
            , ('2018/1/10', 7, 9, 9, 7, 100)
            , ('2018/1/11', 8, 10, 10, 8, 100)
            , ('2018/1/12', 9, 11, 11, 9, 100)
        ]

    ks = twine.KSeq('day',ks)
    assert len(ks._strokes) == 2
    assert ks._strokes[0].to_dict() == {'from':(2,15),
                        'to':(7,5),
                        'isUp':False,
                        'growing':False
                        }
    assert ks._strokes[1].to_dict() =={
                        'from':(7,5),
                        'to':(11,11),
                        'isUp':True,
                        'growing':True
                        }
Exemplo n.º 7
0
def test_kseq_listofdict():
    listDict = [
                    {'time':'2018/1/2','start':13.35,'high':13.93,'end':13.7,'low':13.32,'volume':2081592.5}
                    ,{'time':'2018/1/3','start':13.73,'high':13.86,'end':13.33,'low':13.2,'volume':2962498.25}
                    ,{'time':'2018/1/4','start':13.32,'high':13.37,'end':13.25,'low':13.13,'volume':1854509.5}#
                    ,{'time':'2018/1/5','start':13.21,'high':13.35,'end':13.3,'low':13.15,'volume':1210312.75}#
                    ,{'time':'2018/1/8','start':13.25,'high':13.29,'end':12.96,'low':12.86,'volume':2158620.75}
                    ,{'time':'2018/1/9','start':12.96,'high':13.2,'end':13.08,'low':12.92,'volume':1344345.12}
                    ,{'time':'2018/1/10','start':13.04,'high':13.49,'end':13.47,'low':12.92,'volume':2403277.5}
                    ,{'time':'2018/1/11','start':13.41,'high':13.59,'end':13.4,'low':13.27,'volume':1443877.75}
                    ,{'time':'2018/1/12','start':13.45,'high':13.68,'end':13.55,'low':13.41,'volume':1353991.38}
                    ,{'time':'2018/1/15','start':13.51,'high':14.33,'end':14.2,'low':13.5,'volume':3122394.5}
                    ,{'time':'2018/1/16','start':14.17,'high':14.38,'end':14.2,'low':14.02,'volume':2444549}
                    ,{'time':'2018/1/17','start':14.33,'high':14.8,'end':14.23,'low':14.2,'volume':2656294}
                ]
    s = twine.KSeq('day',listDict)
    assert len(s._seq)==12
    assert s._seq[0].start==13.35
    assert s._seq[0].end == 13.7
    assert s._seq[0].high == 13.93
    assert s._seq[0].low == 13.32
    assert not s._seq[0].merged
    assert not s._seq[1].merged
    assert s._seq[2].merged
    assert s._seq[3].merged
    assert s._seq[4].merged
    assert s._seq[5].merged
    assert not s._seq[6].merged
Exemplo n.º 8
0
def test_strokes_spliting_2():
    ks = [
            ('2018/1/2',11,13,13,11,100)
            ,('2018/1/3',12,14,14,12,100)
            ,('2018/1/4',13,15,15,13,100)
            , ('2018/1/5', 12, 14, 14, 12, 100)
            , ('2018/1/6', 11, 13, 13,11, 100)
            , ('2018/1/7', 9, 11, 11, 9, 100)
        ]

    s = twine.KSeq('day',ks)
    assert len(s._strokes) == 0
Exemplo n.º 9
0
def test_kseq_listoftuple():
    ks = [
            ('2018/1/2',13.35,13.93,13.7,13.32,2081592.5)
            ,('2018/1/3',13.73,13.86,13.33,13.2,2962498.25)
            ,('2018/1/4',13.32,13.37,13.25,13.13,1854509.5)
        ]

    s = twine.KSeq('day',ks)
    assert len(s._seq)==3
    assert s._seq[0].start==13.35
    assert s._seq[0].end == 13.7
    assert s._seq[0].high == 13.93
    assert s._seq[0].low == 13.32
Exemplo n.º 10
0
def test_seg_split_xdown_e():
    s = twine.KSeq('day',[])
    s._strokes = [
        fakeStroke({'from':(0,10),'to':(1,5),'isUp':False,'growing':False}),
        fakeStroke({'from':(1,5),'to':(2,9),'isUp':True,'growing':False}),
        fakeStroke({'from':(2,9),'to':(3,4),'isUp':False,'growing':False}),
        fakeStroke({'from':(3,4),'to':(4,7),'isUp':True,'growing':False}),
        fakeStroke({'from':(4,7),'to':(5,6),'isUp':False,'growing':False}),
        fakeStroke({'from':(5,6),'to':(6,8),'isUp':True,'growing':False}),
        fakeStroke({'from':(6,8),'to':(7,1),'isUp':False,'growing':False}),
        fakeStroke({'from':(7,1),'to':(8,4),'isUp':True,'growing':False}),
        fakeStroke({'from':(8,4),'to':(9,2),'isUp':False,'growing':False}),
        fakeStroke({'from':(9,2),'to':(10,5),'isUp':True,'growing':False}),
        fakeStroke({'from':(10,5),'to':(11,3),'isUp':False,'growing':False}),
        fakeStroke({'from':(11,3),'to':(12,6),'isUp':True,'growing':False})
        
        ]
    s.makeupSegment()
    
    assert(4 == len(s._segment))
    assert(eval(str(s._segment[0])) == {
        'from': (0,10),
        'to': (3,4),
        'isUp': False,
        'bi': [0,1,2],
        'growing':False
        })
    assert(eval(str(s._segment[1])) == {
        'from': (3,4),
        'to': (6,8),
        'isUp': True,
        'bi': [3,4,5],
        'growing':False
        })
    assert(eval(str(s._segment[2])) == {
        'from': (6,8),
        'to': (9,2),
        'isUp': False,
        'bi': [6,7,8],
        'growing':False
        })
    assert(eval(str(s._segment[3])) == {
        'from': (9,2),
        'to': (12,6),
        'isUp': True,
        'bi': [9,10,11],
        'growing':True
        })
Exemplo n.º 11
0
def test_strokes_spliting_11():
    ks = [  #date,open,high,close,low,volume
            ('2018/1/1',2,5,5,2,100)
            ,('2018/1/2',4,6,6,4,100)
            ,('2018/1/3',5,7,7,5,100)
            , ('2018/1/4', 6, 8, 8, 6, 100)
            , ('2018/1/5', 7, 9, 9,7, 100)
            , ('2018/1/6', 6, 8, 8, 6, 100)
            , ('2018/1/7', 5, 7, 7, 5, 100)
            , ('2018/1/8', 4, 6, 6, 4, 100)
            , ('2018/1/9', 3, 5, 5, 3, 100)
            , ('2018/1/10', 4, 7, 7, 4, 100)
            , ('2018/1/11', 6, 9, 9, 6, 100)
            , ('2018/1/12', 8, 11, 11, 8, 100)
            , ('2018/1/13', 7, 9, 9, 7, 100)
            , ('2018/1/14', 6, 8, 8, 6, 100)
            , ('2018/1/15', 5, 7, 7, 5, 100)           
            , ('2018/1/16', 4, 6, 6, 4, 100)
            
            , ('2018/1/17', 5, 7, 7, 5, 100)
            , ('2018/1/18', 6, 8, 8, 6, 100)
            , ('2018/1/19', 7, 9, 9, 7, 100)
            , ('2018/1/20', 8, 10, 10, 8, 100)
            
            , ('2018/1/21', 7, 9, 9, 7, 100)
        ]

    ks = twine.KSeq('day',ks)
    assert len(ks._strokes) == 3
    assert ks._strokes[0].to_dict() == {'from':(0,2),
                        'to':(11,11),
                        'isUp':True,
                        'growing':False
                        }
    assert ks._strokes[1].to_dict() =={
                        'from':(11,11),
                        'to':(15,4),
                        'isUp':False,
                        'growing':False
                        }
    assert ks._strokes[2].to_dict() =={
                        'from':(15,4),
                        'to':(19,10),
                        'isUp':True,
                        'growing':True
                        }
Exemplo n.º 12
0
def test_kseq_dataframe():
    listDict = [
                    {'date':'2018/1/2','open':13.35,'high':13.93,'close':13.7,'low':13.32,'volume':2081592.5}
                    ,{'date':'2018/1/3','open':13.73,'high':13.86,'close':13.33,'low':13.2,'volume':2962498.25}
                    ,{'date':'2018/1/4','open':13.32,'high':13.37,'close':13.25,'low':13.13,'volume':1854509.5}#
                    ,{'date':'2018/1/5','open':13.21,'high':13.35,'close':13.3,'low':13.15,'volume':1210312.75}#
                    ,{'date':'2018/1/8','open':13.25,'high':13.29,'close':12.96,'low':12.86,'volume':2158620.75}
                    ,{'date':'2018/1/9','open':12.96,'high':13.2,'close':13.08,'low':12.92,'volume':1344345.12}
                    ,{'date':'2018/1/10','open':13.04,'high':13.49,'close':13.47,'low':12.92,'volume':2403277.5}
                    ,{'date':'2018/1/11','open':13.41,'high':13.59,'close':13.4,'low':13.27,'volume':1443877.75}
                    ,{'date':'2018/1/12','open':13.45,'high':13.68,'close':13.55,'low':13.41,'volume':1353991.38}
                    ,{'date':'2018/1/15','open':13.51,'high':14.33,'close':14.2,'low':13.5,'volume':3122394.5}
                    ,{'date':'2018/1/16','open':14.17,'high':14.38,'close':14.2,'low':14.02,'volume':2444549}
                    ,{'date':'2018/1/17','open':14.33,'high':14.8,'close':14.23,'low':14.2,'volume':2656294}
                ]
    df = pd.DataFrame(listDict)
    s = twine.KSeq('day', df)
    assert len(s._seq) == 12
Exemplo n.º 13
0
def test_seg_split_compound_2():
    import pandas as pd
    df = pd.read_csv('./tests/fixtures/002628_w_stroke.csv',header=0,names=['date','stroke'])
    s = twine.KSeq('30m',[])
    s._strokes = []
    t0 = None
    for t in df.itertuples():
        if t0 is not None:
            up = True if t.stroke>t0.stroke else False
            s._strokes.append(fakeStroke({
                'from':(t0.Index,t0.stroke),
                'to':(t.Index,t.stroke),
                'isUp':up,
                'growing':False}))
        t0 = t

    

    s.makeupSegment()
    assert(4 == len(s._segment))
Exemplo n.º 14
0
def test_seg_split_qk_c():
    s = twine.KSeq('day',[])
    s._strokes = [
        fakeStroke({'from':(0,1),'to':(2,4),'isUp':True,'growing':False}),
        fakeStroke({'from':(2,4),'to':(4,2),'isUp':False,'growing':False}),
        fakeStroke({'from':(4,2),'to':(6,8),'isUp':True,'growing':False}),
        fakeStroke({'from':(6,8),'to':(8,5),'isUp':False,'growing':False}),
        fakeStroke({'from':(8,5),'to':(10,7),'isUp':True,'growing':False}),
        fakeStroke({'from':(10,7),'to':(12,6),'isUp':False,'growing':False}),
        fakeStroke({'from':(12,6),'to':(14,9),'isUp':True,'growing':False})
        ]
    s.makeupSegment()
    
    assert(1 == len(s._segment))
    assert(eval(str(s._segment[0])) == {
        'from': (0,1),
        'to': (14,9),
        'isUp': True,
        'bi': [0,1,2,3,4,5,6],
        'growing':True
        })
Exemplo n.º 15
0
def test_seg_split_qk_e():
    s = twine.KSeq('day',[])
    s._strokes = [
        fakeStroke({'from':(0,2),'to':(1,4),'isUp':True,'growing':False}),
        fakeStroke({'from':(1,4),'to':(2,3),'isUp':False,'growing':False}),
        fakeStroke({'from':(2,3),'to':(3,11),'isUp':True,'growing':False}),
        fakeStroke({'from':(3,11),'to':(4,7),'isUp':False,'growing':False}),
        fakeStroke({'from':(4,7),'to':(5,9),'isUp':True,'growing':False}),
        fakeStroke({'from':(5,9),'to':(6,5),'isUp':False,'growing':False}),
        fakeStroke({'from':(6,5),'to':(7,10),'isUp':True,'growing':False}),
        fakeStroke({'from':(7,10),'to':(8,8),'isUp':False,'growing':False}),
        fakeStroke({'from':(8,8),'to':(9,12),'isUp':True,'growing':False})
        ]
    s.makeupSegment()
    
    assert(1 == len(s._segment))
    assert(eval(str(s._segment[0])) == {
        'from': (0,2),
        'to': (9,12),
        'isUp': True,
        'bi': [0,1,2,3,4,5,6,7,8],
        'growing':True
        })
Exemplo n.º 16
0
def test_seg_split_qk_b():
    s = twine.KSeq('day',[])
    s._strokes = [
        fakeStroke({'from':(0,1),'to':(1,5),'isUp':True,'growing':False}),
        fakeStroke({'from':(1,5),'to':(2,4),'isUp':False,'growing':False}),
        fakeStroke({'from':(2,4),'to':(3,8),'isUp':True,'growing':False}),
        fakeStroke({'from':(3,8),'to':(4,6),'isUp':False,'growing':False}),
        fakeStroke({'from':(4,6),'to':(5,7),'isUp':True,'growing':False}),
        fakeStroke({'from':(5,7),'to':(6,3),'isUp':False,'growing':False}),
        fakeStroke({'from':(6,3),'to':(7,5),'isUp':True,'growing':False}),
        fakeStroke({'from':(7,5),'to':(8,4),'isUp':False,'growing':False}),
        fakeStroke({'from':(8,4),'to':(9,7),'isUp':True,'growing':False})
        ]
    s.makeupSegment()
    
    assert(3 == len(s._segment))
    assert(eval(str(s._segment[0])) == {
        'from': (0,1),
        'to': (3,8),
        'isUp': True,
        'bi': [0,1,2],
        'growing':False
        })
    assert(eval(str(s._segment[1])) == {
        'from': (3,8),
        'to': (6,3),
        'isUp': False,
        'bi': [3,4,5],
        'growing':False
        })
    assert(eval(str(s._segment[2])) == {
        'from': (6,3),
        'to': (9,7),
        'isUp': True,
        'bi': [6,7,8],
        'growing':True
        })
Exemplo n.º 17
0
def test_seg_split_a2():
    s = twine.KSeq('day',[])
    s._strokes = [
        fakeStroke({'from':(0,1),'to':(2,5),'isUp':True,'growing':False}),
        fakeStroke({'from':(2,5),'to':(4,3),'isUp':False,'growing':False}),
        fakeStroke({'from':(4,3),'to':(6,6),'isUp':True,'growing':False}),
        fakeStroke({'from':(6,6),'to':(8,2),'isUp':False,'growing':False}),
        fakeStroke({'from':(8,2),'to':(10,4),'isUp':True,'growing':False}),
        fakeStroke({'from':(10,4),'to':(12,3),'isUp':False,'growing':False}),
        fakeStroke({'from':(12,3),'to':(14,5),'isUp':True,'growing':False}),
        fakeStroke({'from':(14,5),'to':(16,4),'isUp':False,'growing':False}),
        fakeStroke({'from':(16,4),'to':(18,6),'isUp':True,'growing':False}),
        fakeStroke({'from':(18,6),'to':(20,5),'isUp':False,'growing':False}),
        fakeStroke({'from':(20,5),'to':(22,8),'isUp':True,'growing':False}),
        fakeStroke({'from':(22,8),'to':(24,6),'isUp':False,'growing':False}),
        fakeStroke({'from':(24,6),'to':(26,7),'isUp':True,'growing':False}),
        fakeStroke({'from':(26,7),'to':(28,4),'isUp':False,'growing':False})
        ]
    s.makeupSegment()

    assert(2 == len(s._segment))

    assert(eval(str(s._segment[0])) == {
        'from': (0,1),
        'to': (22,8),
        'isUp': True,
        'bi': [0,1,2,3,4,5,6,7,8,9,10],
        'growing':False
        })
    assert(eval(str(s._segment[1])) == {
        'from': (22,8),
        'to': (28,4),
        'isUp': False,
        'bi': [11,12,13],
        'growing':True
        })
Exemplo n.º 18
0
def test_strokes_spliting_4():
    ks = [
        ("2017-01-03",9.11,9.18,9.16,9.09,459840.47),
        ("2017-01-04",9.15,9.18,9.16,9.14,449329.53),
        ("2017-01-05",9.17,9.18,9.17,9.15,344372.91),
        ("2017-01-06",9.17,9.17,9.13,9.11,358154.19),
        ("2017-01-09",9.13,9.17,9.15,9.11,361081.56),
        ("2017-01-10",9.15,9.16,9.15,9.14,241053.95),
        ("2017-01-11",9.14,9.17,9.14,9.13,303430.88),
        ("2017-01-12",9.13,9.17,9.15,9.13,428006.75),
        ("2017-01-13",9.14,9.19,9.16,9.12,434301.38),
        ("2017-01-16",9.15,9.16,9.14,9.07,683165.81),
        ("2017-01-17",9.12,9.16,9.15,9.1,545552.38),
        ("2017-01-18",9.14,9.19,9.17,9.13,574269.38),
        ("2017-01-19",9.15,9.24,9.18,9.15,437712.88),
        ("2017-01-20",9.17,9.23,9.22,9.17,393328.56),
        ("2017-01-23",9.22,9.26,9.22,9.2,420299.31),
        ("2017-01-24",9.23,9.28,9.27,9.2,470244.09),
        ("2017-01-25",9.27,9.28,9.26,9.25,304401.97),
        ("2017-01-26",9.27,9.34,9.33,9.26,420712.56)
         ]
         
    s = twine.KSeq('day',ks)
    assert len(s._strokes) == 1
Exemplo n.º 19
0
from line_profiler import LineProfiler
from pyqtgraph.Qt import QtCore, QtGui
import pandas as pd
import stockGUIs as tgui
import sys

sys.path.append("..")
from twine_theory.domain import twine_theory as tt

df = pd.read_csv("000001.csv")
df.sort_values('date')

app = QtGui.QApplication(sys.argv)
w = QtGui.QMainWindow()
w.show()
w.resize(800, 600)

profiler = LineProfiler()
# import pdb;pdb.set_trace()
s = tgui.StickWidget(tt.KSeq('day', []))
lp_wrapper = profiler(tgui.StickWidget.__init__)
lp_wrapper(s, tt.KSeq('day', df))
profiler.print_stats()
Exemplo n.º 20
0
 def execute(self):
     self.kseq = twine.KSeq('day', self._seq)
     return self.kseq.getNorm()
Exemplo n.º 21
0
def createWidget(nks):
    return tgui.StickWidget(tt.KSeq('day', nks))
Exemplo n.º 22
0
import matplotlib.pyplot as plt

if __name__ == "__main__":
    if len(sys.argv) < 2:
        print("usage:analyse stock_file [show]")
        exit()
    stock = sys.argv[1]
    stockFile = Path(stock)
    if not stockFile.is_file():
        print("File %s not exists" % stock)
        exit()
    st = pd.read_csv(stock,
                     parse_dates=['date'],
                     dtype={'code': str},
                     index_col='date')
    seq = tt.KSeq('day', st)

    dlist = [k['time'] for k in seq._seq]

    dlist1 = [st.iloc[s['from'][0]].name for s in seq._strokes
              ] + [st.iloc[seq._strokes[-1]['to'][0]].name]
    stroke = pd.DataFrame(data=[s['from'][1] for s in seq._strokes] +
                          [seq._strokes[-1]['to'][1]],
                          index=dlist1,
                          columns=['stroke'])
    stroke.to_csv(stockFile.parent / (stockFile.stem + '_stroke.csv'))

    if len(seq._segment) > 0:
        dlist2 = [st.iloc[s['from'][0]].name for s in seq._segment
                  ] + [st.iloc[seq._segment[-1]['to'][0]].name]
        segment = pd.DataFrame(data=[s['from'][1] for s in seq._segment] +
Exemplo n.º 23
0
from line_profiler import LineProfiler
import pandas as pd
import sys

sys.path.append("../..")
from twine_theory.domain import twine_theory as tt

df = pd.read_csv("000001.csv")
df.sort_values('date')
profiler = LineProfiler()
s = tt.KSeq('day', [])
lp_wrapper = profiler(tt.KSeq.__init__)
lp_wrapper(s, 'day', df)
profiler.print_stats()