Пример #1
0
    def countTops(self, days=5, retry=3, pause=0.001):
        """
        获取个股上榜统计数据
        Parameters
        --------
            days:int
                      天数,统计n天以来上榜次数,默认为5天,其余是10、30、60
            retry : int, 默认 3
                         如遇网络等问题重复执行的次数 
            pause : int, 默认 0
                        重复请求数据过程中暂停的秒数,防止请求间隔时间太短出现的问题
        Return
        ------
        DataFrame or List: [{'code':, 'name':, ...}, ...]
            code:代码
            name:名称
            count:上榜次数
            bamount:累积购买额(万)     
            samount:累积卖出额(万)
            net:净额(万)
            bcount:买入席位数
            scount:卖出席位数
        """
        self._data = pd.DataFrame()

        if Utility.checkLhbInput(days) is True:
            self._writeHead()

            # http://vip.stock.finance.sina.com.cn/q/go.php/vLHBData/kind/ggtj/index.phtml?last=5&p=1
            self._data = self.__parsePage(kind=cf.LHB_KINDS[0],
                                          last=days,
                                          column=cf.LHB_GGTJ_COLS,
                                          dataArr=pd.DataFrame(),
                                          pageNo=1,
                                          retry=retry,
                                          pause=pause)
            self._data['code'] = self._data['code'].map(
                lambda x: str(x).zfill(6))
            if self._data is not None:
                self._data = self._data.drop_duplicates('code')

            return self._result()
Пример #2
0
    def instTops(self, days=5, retry=3, pause=0.001):
        """
        获取机构席位追踪统计数据
        Parameters
        --------
        days:int
                  天数,统计n天以来上榜次数,默认为5天,其余是10、30、60
        retry : int, 默认 3
                     如遇网络等问题重复执行的次数 
        pause : int, 默认 0
                    重复请求数据过程中暂停的秒数,防止请求间隔时间太短出现的问题
                    
        Return
        --------
        DataFrame or List: [{'code':, 'name':, ...}, ...]
            code:代码
            name:名称
            bamount:累积买入额(万)
            bcount:买入次数
            samount:累积卖出额(万)
            scount:卖出次数
            net:净额(万)
        """
        self._data = pd.DataFrame()

        if Utility.checkLhbInput(days) is True:
            self._writeHead()

            # http://vip.stock.finance.sina.com.cn/q/go.php/vLHBData/kind/jgzz/index.phtml?last=5&p=1
            self._data = self.__parsePage(kind=cf.LHB_KINDS[2],
                                          last=days,
                                          column=cf.LHB_JGZZ_COLS,
                                          dataArr=pd.DataFrame(),
                                          pageNo=1,
                                          retry=retry,
                                          pause=pause,
                                          drop_column=[2, 3])
            self._data['code'] = self._data['code'].map(
                lambda x: str(x).zfill(6))

            return self._result()
Пример #3
0
    def brokerTops(self, days=5, retry=3, pause=0.001):
        """
        获取营业部上榜统计数据
        Parameters
        --------
        days:int
                  天数,统计n天以来上榜次数,默认为5天,其余是10、30、60
        retry : int, 默认 3
                     如遇网络等问题重复执行的次数 
        pause : int, 默认 0
                    重复请求数据过程中暂停的秒数,防止请求间隔时间太短出现的问题
        Return
        ---------
        DataFrame or List: [{'broker':, 'count':, ...}, ...]
            broker:营业部名称
            count:上榜次数
            bamount:累积购买额(万)
            bcount:买入席位数
            samount:累积卖出额(万)
            scount:卖出席位数
            top3:买入前三股票
        """
        self._data = pd.DataFrame()

        if Utility.checkLhbInput(days) is True:
            self._writeHead()

            # http://vip.stock.finance.sina.com.cn/q/go.php/vLHBData/kind/yytj/index.phtml?last=5&p=1
            self._data = self.__parsePage(kind=cf.LHB_KINDS[1],
                                          last=days,
                                          column=cf.LHB_YYTJ_COLS,
                                          dataArr=pd.DataFrame(),
                                          pageNo=1,
                                          retry=retry,
                                          pause=pause)

            return self._result()