Beispiel #1
0
    def campaigns(self,
                  filter_id='',
                  filter_folder=None,
                  filter_fromname='',
                  filter_fromemail='',
                  filter_title='',
                  filter_subject='',
                  filter_sendtimestart=None,
                  filter_sendtimeend=None,
                  filter_exact=False,
                  start=0,
                  limit=50):
        """Get the list of campaigns and their details matching the specified filters.
        Timestamps should be passed as datetime objects.

        http://apidocs.mailchimp.com/api/1.3/campaigns.func.php
        """

        filter_sendtimestart = transform_datetime(filter_sendtimestart)
        filter_sendtimeend = transform_datetime(filter_sendtimeend)

        return self._api_call(method='campaigns',
                              filter_id=filter_id,
                              filter_folder=filter_folder,
                              filter_fromname=filter_fromname,
                              filter_fromemail=filter_fromemail,
                              filter_title=filter_title,
                              filter_subject=filter_subject,
                              filter_sendtimestart=filter_sendtimestart,
                              filter_sendtimeend=filter_sendtimeend,
                              filter_exact=filter_exact,
                              start=start,
                              limit=limit)
Beispiel #2
0
    def campaign_schedule(self, cid, schedule_time, schedule_time_b=None):
        """Schedule a campaign to be sent in the future.
        http://apidocs.mailchimp.com/api/1.3/campaignschedule.func.php
        """

        schedule_time = transform_datetime(schedule_time)

        if schedule_time_b:
            schedule_time_b = transform_datetime(schedule_time_b)

        return self._api_call(method='campaignSchedule', cid=cid, schedule_time=schedule_time, schedule_time_b=schedule_time_b)
Beispiel #3
0
    def campaign_schedule(self, cid, schedule_time, schedule_time_b=None):
        """Schedule a campaign to be sent in the future.
        http://apidocs.mailchimp.com/api/1.3/campaignschedule.func.php
        """

        schedule_time = transform_datetime(schedule_time)

        if schedule_time_b:
            schedule_time_b = transform_datetime(schedule_time_b)

        return self._api_call(method='campaignSchedule', cid=cid, schedule_time=schedule_time, schedule_time_b=schedule_time_b)
Beispiel #4
0
    def campaigns(self, filter_id='', filter_folder=None, filter_fromname='', filter_fromemail='',
                  filter_title='', filter_subject='', filter_sendtimestart=None, filter_sendtimeend=None,
                  filter_exact=False, start=0, limit=50):
        """Get the list of campaigns and their details matching the specified filters.
        Timestamps should be passed as datetime objects.

        http://apidocs.mailchimp.com/api/1.3/campaigns.func.php
        """

        filter_sendtimestart = transform_datetime(filter_sendtimestart)
        filter_sendtimeend = transform_datetime(filter_sendtimeend)


        return self._api_call(method='campaigns',
                              filter_id=filter_id, filter_folder=filter_folder, filter_fromname=filter_fromname,
                              filter_fromemail=filter_fromemail, filter_title=filter_title, filter_subject=filter_subject,
                              filter_sendtimestart=filter_sendtimestart, filter_sendtimeend=filter_sendtimeend,
                              filter_exact=filter_exact, start=start, limit=limit)
Beispiel #5
0
def is_between(dfm):
    """
    func
    日付fireがstartとendの範囲内にあるか無いか真偽値を末尾にchkという列に追加
    - fireがstart, endの境界上にある場合、「ある」と判定
    In
    dfm : pd.DataFrame(変換用)
    Out
    added_dfm : chk列を追加した後のpd.DataFrame
    """
    # fire, start, end列をdatetime64型に変換する
    date_columns = ["fire", "start", "end"]
    added_dfm = transform_datetime(dfm, date_columns)

    # 日付fireがstartとendの範囲内にあるか無いか真偽値を末尾にchkという列に追加
    added_dfm["chk"] = (added_dfm["start"] <= added_dfm["fire"]) & (added_dfm["fire"] <= added_dfm["end"])

    # fire, start, end列を元の文字列型に直す
    added_dfm = transform_object(added_dfm, date_columns)

    return added_dfm
Beispiel #6
0
def add_to_end(dfm):
    """
    func
    行毎にend列にadd列の日数を加算してend列を更新
    In
    dfm : pd.DataFrame(変換用)
    Out
    added_dfm : end列を更新した後のpd.DataFrame
    """
    # end列をdatetime64型に変換する
    date_columns = ["end"]
    added_dfm = transform_datetime(dfm, date_columns)

    # end列にadd列分の日数を加算してend列を更新する
    added_dfm["end"] = added_dfm["end"] + added_dfm["add"].map(
        datetime.timedelta)

    # end列を元の文字列型に直す
    added_dfm = transform_object(added_dfm, date_columns)

    return added_dfm
Beispiel #7
0
            pre_close_dict = zhuli.get_info(trade_dates)
            if backtest:
                print('a new day: %s' % trade_date)

            klines = []  # 所有K线保存在这
            target_pos = []  # 所有任务TargetPossTask放这
            hold_pos = []  # 持仓变换情况
            names = []  # 名字
            last_times = []  # 上一交易日时刻, 不同合约交易时段不同

            for kind in df_list['code'].unique():
                tmp_k = api.get_kline_serial([kind], 60, data_length=1200)
                if 'ag' in kind:
                    # 应该每天都会有ag合约,否则程序会出错
                    sp_kline = tmp_k
                    last_time_ = utils.transform_datetime(
                        sp_kline['datetime'].values[-1])

                target_pos.append(TargetPosTask(api, kind))
                names.append(kind)
                klines.append(tmp_k)
                last_times.append(
                    utils.transform_datetime(tmp_k['datetime'].values[-1]))

            hold_kind = []
            hold_time = []
            direction = []

        t1 = time.time()
        while True:
            api.wait_update()
            t2 = time.time()