当前位置:主页 > 娱乐 >

[Python数据分析]新股破板买入,赚钱几率如何?-布布扣

作者:admin 发布时间:2018-09-02 阅读:

附属物:limit   version   ges   continue   dfa   over   pre      接合   

这是本人我一向猎奇的成绩。,缺席互联网网络搜索。,以新的办法的Python录音剖析,自己动手就行了。。作者是Python的零基。,we的全部的格形式需求万丈高楼平地起得知。。

写定冠词的时辰,作者还缺席达到左右小的剖析目的。,从实践中学习。。

================================================================

Python根底:

奇纳河学院Mooc,南京学院,张黎先生 用Python重播录音

听说根本符号和经用效能。,当再次运用安宁勤勉时。。

银行业务录音源:

TuShare -

收费,开源Python财务录音接合包。

GitHub:

根本通讯眼前在反省。,其余者的是在网上搜索的。,未抚养前,此后渐渐添加。。

================================================================

自新股发行后突变板块业绩。,we的全部的格形式需求设定本人工夫量子。,另外它毫无意义。,到这地步,需求六岁月的工夫构架。,碎板后人口普查,太长是缺席用的。,子股年纪期限度局限,但we的全部的格形式可以把它限度局限在本人月带着。,本别剖析,断板收买,30个市日的日进项概率。

可以做什么可以分为以下手续。:

1. 在过来六岁月中获取新股录音

2. 在上市后获取每个股权证券的录音。

3. 断板后三十天的录音掩藏,总结

4. 计算普遍的每日极限概率。

-----

第一步:如安在过来六岁月中获取新股录音。

THUSAE新录音接合:

输入参量:retry_count, pause

反复更多录音,熊猫 录音文件格式达到目标录音,上面的化名为是化验输入的偏袒的。,他们达到目标多的对他们现时需求做的事实毫无用处。,需求对其停止掩藏。。

关怀的补偿价钱:code - 股权证券行为准则,name - 股权证券清晰度, issue_date - 上市日期

import tushare as ts
()

掩藏法律:

issue_date 半载带着。

Pandas API:

可以用参量过滤录音文件。:

但依我看它需求更进一步过滤。,抄家,发现物可以直率的买卖。。

import tushare as ts
df=()
dfDF[DFissue_date]>2016-06-01]

到这地步,we的全部的格形式直率的走快6月1日上市的全部的新股。:

不管怎样we的全部的格形式只需求行为准则。, name 和 发行日期通讯,因而添加另社交的。:

import tushare as ts
df=()
dfDF[DFissue_date]>2016-06-01]
df=df[[code,name,issue_date]]

这是手术的胜利。:

现时we的全部的格形式曾经拿了过来六岁月上市的新股录音。,包孕股权证券行为准则,上市清晰度及上市日期。

-----

秒步:怎样在上市后获取每个股权证券的录音。

TSUARE历史事务录音接合:

输入参量:code, start, end, Ktype(录音类型),默许为日本K行。, retry_count, pause

反复更多录音,同一也熊猫 录音文件格式达到目标录音,上面的化名为是化验输入的偏袒的。,他们达到目标多的对他们现时需求做的事实毫无用处。,需求对其停止掩藏。。

关怀的补偿价钱:date - 日期,open - 以开盘价, close - 结算, p_change - 涨跌幅

we的全部的格形式以六月三日上市的新股巴西棕榈(603737)为例:

import tushare as ts
df=(603737)

化验运转列举如下:

同一,推理第一步,we的全部的格形式被期望有一点儿处置录音。:

df=df[[date,open,close,p_change]]

此刻却出了成绩,报错列举如下:

>>> df=df[[date,open,close,p_change]]
Traceback (most recent call last):
  File "", line 1, in 
  File "/Users/shengtianhe/anaconda/lib/python/site-packages/pandas/core/frame.py", line 1991, in __getitem__
    return self._getitem_array(key)
  File "/Users/shengtianhe/anaconda/lib/python/site-packages/pandas/core/frame.py", line 2035, in _getitem_array
    indexer = (key, axis=1)
  File "/Users/shengtianhe/anaconda/lib/python/site-packages/pandas/core/indexing.py", line 1214, in _convert_to_indexer
    raise KeyError(%s not in index % objarr[mask])
KeyError: "[‘date‘] not in index"

反省打出版的录音清晰度没成绩,就思索,第一列会不会是安宁的东西,搜到数个可供使用的的命令:

from pandas import 录音文件 #从pandas库中援用录音文件
df_obj = 录音文件() #到达录音文件靶子
df_obj.D型s #反省每社交的的录音格式。
() #反省先至将来达到目标录音,默许的前5行
() #反省以下至的录音,默许后5行
df_obj.index #反省涉及
df_obj.columns #反省列名
df_obj.values #反省录音值
df_obj.describe #刻画性人口普查
df_obj.T #变换
(圆柱) = ‘’)#按列名排序
涉及(按,’’])#多列排序,运用工夫,行使职责是老一套的。,请运用SottLoValk。
值(按‘‘,‘‘])同上

运转涉及和列,自然,日期是涉及。:

>>> df.columns
Index([open, high, close, low, volume, price_change, p_change,
       ma5, ma10, ma20, v_ma5, v_ma10, v_ma20, turnover],
      D型=object)
>>> df.index
Index([2016-10-28, 2016-10-27, 2016-10-26, 2016-10-25, 2016-10-24,
       2016-10-21, 2016-10-20, 2016-10-19, 2016-10-18, 2016-10-17,
       2016-10-14, 2016-10-13, 2016-10-12, 2016-10-11, 2016-10-10,
       2016-09-30, 2016-09-29, 2016-09-28, 2016-09-27, 2016-09-26,
       2016-09-23, 2016-09-22, 2016-09-21, 2016-09-20, 2016-09-19,
       2016-09-14, 2016-09-13, 2016-09-12, 2016-09-09, 2016-09-08,
       2016-09-07, 2016-09-06, 2016-09-05, 2016-09-02, 2016-09-01,
       2016-08-31, 2016-08-30, 2016-08-29, 2016-08-26, 2016-08-25,
       2016-08-24, 2016-08-23, 2016-08-22, 2016-08-19, 2016-08-18,
       2016-08-17, 2016-08-16, 2016-08-15, 2016-08-12, 2016-08-11,
       2016-08-10, 2016-08-09, 2016-08-08, 2016-08-05, 2016-08-04,
       2016-08-03, 2016-08-02, 2016-08-01, 2016-07-29, 2016-07-28,
       2016-07-27, 2016-07-26, 2016-07-25, 2016-07-22, 2016-07-21,
       2016-07-20, 2016-07-19, 2016-07-18, 2016-07-15, 2016-07-14,
       2016-07-13, 2016-07-12, 2016-07-11, 2016-07-08, 2016-07-07,
       2016-07-06, 2016-07-05, 2016-07-04, 2016-07-01, 2016-06-30,
       2016-06-29, 2016-06-28, 2016-06-27, 2016-06-24, 2016-06-23,
       2016-06-22, 2016-06-21, 2016-06-20, 2016-06-17, 2016-06-16,
       2016-06-15, 2016-06-14, 2016-06-13, 2016-06-08, 2016-06-07,
       2016-06-06, 2016-06-03],
      D型=object, name=date)
View Code

因而列选择结算单被期望是:

df=df[[open,close,p_change]]

胜利列举如下:

现时we的全部的格形式曾经在过来半载和D中走快了新上市的股权证券。。

-----

第三步:怎样断板后三十天的录音掩藏,总结

……在这里省略了二十分钟的熟虑和百度……想想因此的办法来走快第本人发薪日。

import tushare as ts 
df=(603737‘)
df=df[[open‘,close‘,p_change‘]]
start_dateDF[DFp_change]<].tail(1涉及〔0〕

释一下:df是本人录音文件, 可以招致中位数决不一列的全部的行。,招致胜利依然是录音文件,DF有本人叫跟踪()的办法来获取惟一剩下的数个录音。,we的全部的格形式曾经认识日期是涉及。,因而把日期与涉及[ 0 ],因Python缺席根底。…契约的办法是赶集。……

接下来,运用此日期停止掩藏。,we的全部的格形式只干预破损后的录音。:

df=df[]

在在这里,我试过了。……据我看来被期望是因此写的。……

接下来,准许断板收买后似乎比实际时间长的持股10天,因而we的全部的格形式只需求10天的录音后,兄妹纸股权证券。,左右录音关系上地经常地。,也便于后续处置。。倘若录音决不10天,则成穹状。

关口后面的手续,we的全部的格形式在十天的结算,包孕破损板和,将录音替换为录音。

>>> close_array=df.values
>>> close_array
array([ 100.9 ,   99.73,   98.87,  100.51,   99.38,  110.47,  113.71,
        112.75,  115.63,  110.46,  111.82])
View Code

更进一步停止处置,倘若价钱被突变,本人市日的结算高于,数字组达到目标值设置为1。,另外,它是0。

import tushare as ts
import numpy as np

df=(603737)

df=df[[open,close,p_change]]
start_dateDF[DFp_change]<].tail(1涉及〔0〕
df=df[df.index>=start_date]
df=(11)[close]

close_array=df.values
for i in 程度(1),11):
  if close_array[i]>close_array[0]:
    close_array[i]=1
  else:
    close_array[i]=0

close_array[0]=0

print (close_array)

输入胜利:

localhost:~ shengtianhe$ python find.py
[ 0.  0.  0.  0.  0.  1.  1.  1.  1.  1.  1.]

股权证券的录音团体得好的。,接下来,从新股中获取全部的录音。,在这里需求合数字组的办法。,另外,行为准则中没有活力的一稍许的的区域。,关口搜索,我认识怎样做。,比如,怎样反复值来决定非空的无信息的。

import tushare as ts
import numpy as np
import pandas as pd

df=()
dfDF[DFissue_date]>2016-06-01]
df=df[[code,name,issue_date]]

df=df[[code]]
stock_code=df.values

# print(stock_code)
i=0
df_matrix = None

for stock in stock_code:
  detail=(stock_code[i][0])
  if detail is None:
    i=i+1
    continue  

  detail=detail[[open,close,p_change]]
  hasbreak小事[小事]p_change]<]

  if ==0:
    i=i+1
    continue

  start_date=(1涉及〔0〕
  hasbreak=hasbreak[hasbreak.index>=start_date]
  hasbreak=(11)[close]

  if  <11:
    i=i+1
    continue

  close_array=hasbreak.values
  for day in 程度(1),):
    if close_array[day]>close_array[0]:
      close_array[day]=1
    else:
      close_array[day]=0
  close_array[0]=0

  df_matrix_thisRound=(close_array)
  df_matrix_thisRound=df_matrix_thisRound.T

  if df_matrix is None:
    df_matrix=df_matrix_thisRound
  else:
    df_matrix=np.concatenate((df_matrix,))

  i=i+1

print(df_matrix)  

运转胜利列举如下:

-----

月的第四日步:怎样计算普遍的每日极限概率。

这一手续绝对复杂。,每个柱的使平衡值可以直率的计算。,数值上就代表当天结清的概率了。

添加行为准则列举如下:

mean=(0)
print(使平衡)

运转胜利列举如下:

决定:

在最近的的时间,突变董事会十天后价格看涨而买入的概率相当高。。

左右顺序是最早写的。,自然,没有活力的很多改善。,不管怎样胜利曾经受胎本人大约的意向。。接下来,we的全部的格形式感兴趣的是用目测输入显示胜利。,先上床安歇。!

普遍的来说,这是相当令人满意的。!

哈哈哈

[Python录音剖析]新股断板收买,挣钱的概率是多少?

附属物:limit   version   ges   continue   dfa   over   pre      接合   

原文:

关键词:

    推荐图文

    最新文章