예제 #1
0
def mor_pending():
    d = (datetime.today() + relativedelta(weekday=FR(-1))).strftime('%Y-%m-%d')
    df = pd.read_csv(
        r'I:\FINANCE\ACCOUNTING\UPRR\Pending Reports\MOR\{0}.csv'.format(d),
        parse_dates=['Process Date'])
    df['age_weeks'] = np.ceil(
        ((datetime.today() + relativedelta(weekday=FR(-1))) -
         df['Process Date']) / np.timedelta64(1, 'W'))
    df['rev_amt'] = df['Proc.Fee Amount'] + df['BOI Fee Amount']
    grp = df.groupby('age_weeks')['rev_amt'].sum()
    df2 = pd.DataFrame(grp).reset_index()
    return df2
예제 #2
0
def Portfolio_to_UDMPortfolio(portf: Portfolio):
    horizion = 21  # number of trading days per month
    end_date = datetime.now() + relativedelta(weekday=FR(-1))
    start_date = end_date + relativedelta(weekday=FR(-27))
    VaR = portfolio_var(portf, str(start_date), str(end_date),
                        horizion)  # portfolio_var returns a negative percent
    stopValue = round(portf.BuyingPower * (1 + VaR), 2)
    holdings = Assets_to_UDMHoldings(portf)
    # risk is at medium for all portfolios
    UDMportf = UDMPortfolio(-1, -1, False, str(datetime.now()),
                            portf.BuyingPower, stopValue, Risk.Med, holdings)
    return UDMportf
예제 #3
0
 def _populate(self, year):
     # Public holidays
     self[date(year, JAN, 1)] = "Nytårsdag"
     self[easter(year) + rd(weekday=SU(-2))] = "Palmesøndag"
     self[easter(year) + rd(weekday=TH(-1))] = "Skærtorsdag"
     self[easter(year) + rd(weekday=FR(-1))] = "Langfredag"
     self[easter(year)] = "Påskedag"
     self[easter(year) + rd(weekday=MO)] = "Anden påskedag"
     self[easter(year) + rd(weekday=FR(+4))] = "Store bededag"
     self[easter(year) + rd(days=39)] = "Kristi himmelfartsdag"
     self[easter(year) + rd(days=49)] = "Pinsedag"
     self[easter(year) + rd(days=50)] = "Anden pinsedag"
     self[date(year, DEC, 25)] = "Juledag"
     self[date(year, DEC, 26)] = "Anden juledag"
예제 #4
0
def released_last_friday(album_date):
    try:
        last_last_friday = datetime.now() + relativedelta(weekday=FR(-2))
        last_friday = datetime.now() + relativedelta(weekday=FR(-1))
        curr_date = datetime.strptime(album_date, '%Y-%m-%d')
        if curr_date.date() <= last_friday.date():
            return curr_date.date() > last_last_friday.date()
    except Exception as e:
        try:
            last_friday = datetime.now() + relativedelta(weekday=FR(-1))
            curr_date = datetime.strptime(album_date, '%Y')
            return curr_date.date() >= last_friday.date()
        except Exception as ex:
            print(e)
            return False
예제 #5
0
    def __init__(self, *args, **kwargs):
        super(PaymentsReportForm, self).__init__(*args, **kwargs)
        # initial datetime spec:
        # end set to be the last Friday at 10:00 pm AEST even if it is a Friday
        # start exactly one week before end

        now = timezone.localtime(timezone.now())
        # create a timezone aware datetime at 10:00 pm AEST
        today_ten_pm_aest = timezone.make_aware(
            datetime.datetime(now.year, now.month, now.day, 22, 0),
            timezone=pytz.timezone('Australia/Sydney'))
        # convert to local
        today_ten_pm_aest_local = timezone.localtime(today_ten_pm_aest)
        # back to previous friday (even if we are friday)
        delta = relativedelta(weekday=FR(-1)) \
            if today_ten_pm_aest_local.weekday() != FR.weekday else relativedelta(weekday=FR(-2))
        end = today_ten_pm_aest_local + delta
        start = end + relativedelta(weeks=-1)

        banked_start =  (start - datetime.timedelta(days=start.weekday())).replace(hour=0, minute=0)
        banked_end = (banked_start + datetime.timedelta(days=6)).replace(hour=23, minute=59, second=59)

        self.fields['start'].initial = start
        self.fields['end'].initial = end
        self.fields['banked_start'].initial = banked_start
        self.fields['banked_end'].initial = banked_end
예제 #6
0
    def _populate(self, year):
        # New Years
        self[date(year, JAN, 1)] = "Año Nuevo [New Year's Day]"
        # Maundy Thursday
        self[easter(year) + rd(weekday=TH(-1))] =\
            "Jueves Santo [Maundy Thursday]"
        # Good Friday
        self[easter(year) + rd(weekday=FR(-1))] = "Viernes Santo [Good Friday]"
        # Labor Day
        self[date(year, MAY, 1)] = "Día del Trabajo [Labour Day]"
        # Revolution Day
        if 2020 >= year >= 1979:
            self[date(year, JUL, 19)] = "Día de la Revolución [Revolution Day]"
        # Battle of San Jacinto Day
        self[date(year, SEP, 14)] =\
            "Batalla de San Jacinto [Battle of San Jacinto]"
        # Independence Day
        self[date(year, SEP, 15)] =\
            "Día de la Independencia [Independence Day]"
        # Virgin's Day
        self[date(year, DEC, 8)] = "Concepción de María [Virgin's Day]"
        # Christmas
        self[date(year, DEC, 25)] = "Navidad [Christmas]"

        # Provinces festive day
        if self.prov:
            if self.prov == 'MN':
                # Santo Domingo Day Down
                self[date(year, AUG, 1)] = "Bajada de Santo Domingo"
                # Santo Domingo Day Up
                self[date(year, AUG, 10)] = "Subida de Santo Domingo"
예제 #7
0
def _obtain_week_range_from_date(raw_date):
    """Obtain the start/end date of the week the specified date falls in.

    Start of week: Saturday 1200 hrs
    End of week:   Friday 1159 hrs

    NOTE Function is specific to EIA source, since metrics are reported in terms of weekly output.
         However, analysts want total volume across the entire week the metric is reported in.

    Args:
        raw_date (str):

    Returns:
        Tuple[str, str]: tuple of (start_date, end_date) of the week

    Examples:
        >>> _obtain_week_range_from_date('2018-09-21T00:00:00')
        ('2018-09-15T00:00:00', '2018-09-21T00:00:00')
        >>> _obtain_week_range_from_date('2018-09-14T00:00:00')
        ('2018-09-08T00:00:00', '2018-09-14T00:00:00')
    """
    end_date = parse_date(raw_date,
                          dayfirst=False) + relativedelta(weekday=FR(-1))
    start_date = end_date + relativedelta(weekday=SA(-1))

    return (start_date.isoformat(), end_date.isoformat())
예제 #8
0
 def _get_start_of_week(self, span):
     user_lang = self.env['res.lang'].search([('code', '=', self.env.user.lang)])
     week_start_map = {'1': MO(-1), '2': TU(-1), '3': WE(-1), '4': TH(-1), '5': FR(-1), '6': SA(-1), '7': SU(-1)}
     week_start_delta = relativedelta(weekday=week_start_map.get(user_lang.week_start, MO(-1)))
     if span == 'week':
         return week_start_delta
     return START_OF[span] + week_start_delta
예제 #9
0
def get_ticker_missing(ticker_data,
                       ticker_map,
                       last_friday=datetime.today() -
                       relativedelta(weekday=FR(-1))):
    tickers_available_data = ticker_data.groupby('bloomberg_ticker').agg(
        {'date': [max, min]})
    tickers_available_data.columns = ['date_max', 'date_min']

    eligible_tickers_available_data = ticker_map.merge(
        tickers_available_data.reset_index(),
        on='bloomberg_ticker',
        how='left')

    ticker_not_found = eligible_tickers_available_data.loc[
        eligible_tickers_available_data.date_max.isna(),
        ['bloomberg_ticker', 'yahoo']]

    ticker_not_found['start'] = '2002-12-01'

    last_friday_20 = last_friday - relativedelta(days=20)
    tickers_outdated = eligible_tickers_available_data.loc[(
        (eligible_tickers_available_data.date_max < last_friday.
         strftime('%Y-%m-%d')) &
        (eligible_tickers_available_data.date_max > last_friday_20.
         strftime('%Y-%m-%d'))), ['bloomberg_ticker', 'yahoo', 'date_max']]

    tickers_outdated['start'] = (tickers_outdated['date_max'] +
                                 pd.DateOffset(1)).dt.strftime('%Y-%m-%d')
    tickers_outdated.drop(columns=['date_max'], inplace=True)

    return pd.concat([ticker_not_found, tickers_outdated])
def set_next_relative_date(start_date, day_of_week, week_of_month,
                           separation_count):
    arg = MO(1)

    if day_of_week == 1:
        arg = MO(week_of_month)
    if day_of_week == 2:
        arg = TU(week_of_month)
    if day_of_week == 3:
        arg = WE(week_of_month)
    if day_of_week == 4:
        arg = TH(week_of_month)
    if day_of_week == 5:
        arg = FR(week_of_month)
    if day_of_week == 6:
        arg = SA(week_of_month)
    if day_of_week == 7:
        arg = SU(week_of_month)

    if week_of_month == -1:
        return start_date + relativedelta(
            day=31, months=+separation_count, weekday=arg)

    return start_date + relativedelta(
        day=1, months=+separation_count, weekday=arg)
예제 #11
0
    def R7_parser(self):

        self.START_DATE = self.gdate
        if "MONTHS" in self.kwargs:
            self.START_DATE = delta(self.START_DATE,
                                    months=self.kwargs["MONTHS"])

        if "DAYINDEX" in self.kwargs and "DAYNAME" in self.kwargs:
            if self.kwargs["DAYINDEX"] - 2 == 0:
                self.START_DATE = self.START_DATE + relativedelta(
                    day=1, weekday=MO(self.kwargs["DAYNAME"]))
            if self.kwargs["DAYINDEX"] - 2 == 1:
                self.START_DATE = self.START_DATE + relativedelta(
                    day=1, weekday=TU(self.kwargs["DAYNAME"]))
            if self.kwargs["DAYINDEX"] - 2 == 2:
                self.START_DATE = self.START_DATE + relativedelta(
                    day=1, weekday=WE(self.kwargs["DAYNAME"]))
            if self.kwargs["DAYINDEX"] - 2 == 3:
                self.START_DATE = self.START_DATE + relativedelta(
                    day=1, weekday=TH(self.kwargs["DAYNAME"]))
            if self.kwargs["DAYINDEX"] - 2 == 4:
                self.START_DATE = self.START_DATE + relativedelta(
                    day=1, weekday=FR(self.kwargs["DAYNAME"]))
            if self.kwargs["DAYINDEX"] - 2 == 5:
                self.START_DATE = self.START_DATE + relativedelta(
                    day=1, weekday=SA(self.kwargs["DAYNAME"]))
            if self.kwargs["DAYINDEX"] - 2 == 6:
                self.START_DATE = self.START_DATE + relativedelta(
                    day=1, weekday=SU(self.kwargs["DAYNAME"]))
예제 #12
0
    def _populate(self, year):
        # New Year's Day
        self[date(year, JAN, 1)] = "Nieuwjaarsdag [New Year's Day]"

        # Carnaval Monday
        self[easter(year) + rd(days=-48)] = "Maandag na de Grote Karnaval  \
            [Carnaval Monday]"

        # Good Friday
        self[easter(year) + rd(weekday=FR(-1))] = "Goede Vrijdag [Good Friday]"

        # Easter Monday
        self[easter(year) + rd(days=1)] = "Di Dos Dia di Pasku di Resureccion \
            [Easter Monday]"

        # King's Day
        if year >= 2014:
            kings_day = date(year, APR, 27)
            if kings_day.weekday() == 6:
                kings_day = kings_day - rd(days=1)

            self[kings_day] = "Koningsdag [King's Day]"

        # Queen's Day
        if 1891 <= year <= 2013:
            queens_day = date(year, APR, 30)
            if year <= 1948:
                queens_day = date(year, AUG, 31)

            if queens_day.weekday() == 6:
                if year < 1980:
                    queens_day = queens_day + rd(days=1)
                else:
                    queens_day = queens_day - rd(days=1)

            self[queens_day] = "Anja di La Reina [Queen's Day]"

        # Labour Day
        labour_day = date(year, MAY, 1)
        if labour_day.weekday() == 6:
            labour_day = labour_day + rd(days=1)
        self[labour_day] = "Dia di Obrero [Labour Day]"

        # Ascension Day
        self[easter(year) + rd(days=39)] = "Hemelvaartsdag [Ascension Day]"

        # Dia di Himno y Bandera
        self[date(year, JUL, 2)] = "Dia di Himno y Bandera \
            [National Anthem & Flag Day]"

        # Dia di Pais Kòrsou
        self[date(year, OCT, 10)] = "Dia di Pais Kòrsou \
            [Curaçao Day]"

        # Christmas Day
        self[date(year, DEC, 25)] = "Kerstdag [Christmas]"

        # Second Christmas
        self[date(year, DEC, 26)] = "2de Kerstdag [Second Christmas]"
예제 #13
0
    def _populate(self, year):
        holidays.Canada._populate(self, year)

        tito = discord.utils.get(self.bot.emojis,
                                 guild__name="Friends Chat",
                                 name="tito")

        self[date(
            year, 1, 1
        )] = f"Male Kelly's birthday. He's {year-1900} years old according to most websites"
        self[date(
            year, 1, 31
        )] = f"Erin and Taras' Anniversary. It's been {year-2010} entire years"
        self[date(year, 2, 2)] = "Groundhog Day"
        self[date(year, 2, 14)] = "Valentine's Day"
        self[date(
            year, 3, 9
        )] = f"Lachlan's Birthday. He is {year-1989} years old. All hail this magnificent and unsurpassed achievement in longevity. Glory be unto him"
        self[date(year, 3, 14)] = f"Pi Day ({math.pi})"
        self[date(year, 3, 17)] = "St. Patrick's Day"
        self[date(
            year, 3, 20
        )] = f"Tom and Kelly's real wedding anniversary. They've been real together for {year-2015} years"
        self[date(
            year, 3, 25
        )] = "The Day the One Ring was cast into the fires of Mt. Doom, bringing about the fall of Sauron"
        self[date(year, 4, 12)] = "National Grilled Cheese Day"
        self[date(year, 5, 1) + rd(weekday=SU(+2))] = "Mother's Day"
        self[date(year, 5, 7)] = f"Bro Tito Day {tito}"
        self[date(year, 5, 25)] = "Towel Day! DON'T PANIC :thumbsup:"
        self[date(year, 6, 1) + rd(weekday=SU(+3))] = "Father's Day"
        self[date(year, 6,
                  21)] = f"Erin's Birthday. She's {year-1991} years old"
        self[date(year, 9, 8)] = f"Dan's Birthday. He {year-1989} old"
        self[date(
            year, 9, 26
        )] = f"Tom's Birthday. He's {year-1990} years old. How he made it this far, we'll never know"
        self[date(
            year, 10, 7
        )] = f"Delta's Birthday. He's {year-2015} years old and is a good boy"
        self[date(
            year, 10, 11
        )] = "Leif Erikson Day. Hinga Dinga Durgen! https://tenor.com/view/viking-spongebob-squarepants-durgen-fall-down-hard-gif-7302846 "  # intentional trailing space for gif
        self[date(year, 10, 31)] = "Halloween"
        self[date(
            year, 11, 10
        )] = f"Tom and Kelly's fake wedding anniversary. They've been fake together for {year-2014} years"
        self[date(
            year, 11, 12
        )] = f"Sabrina's Birthday. She is {year-1996} years old. Good work on surviving"
        self[date(year, 11, 1) + rd(
            weekday=FR(+4))] = "Black Friday. I hope I can get some new socks"
        self[date(year, 12,
                  2)] = f"Female Kelly's Birthday. She's {year-1989} years old"
        self[date(
            year, 12, 3
        )] = f"DuckBot's Inception Day. I'm about {(now()-datetime(2020, 12, 3, 10, 39, tzinfo=timezone())).seconds}s old"
        self[date(year, 12,
                  5)] = f"Taras' Birthday. He's {year-1989} years old"
예제 #14
0
def stand_up_view(request):
    # if no tickets have been claimed for today's stand up, show the option to select tickets
    today = datetime.date.today()
    previous_date = ""

    if today.weekday() == 0:
        previous_date = today + relativedelta(weekday=FR(-1))

    else:
        previous_date = today - datetime.timedelta(1)

    projects = Project.objects.all()
    tasks = Task.objects.filter(
        task_created=previous_date).order_by('task_name')
    tickets = Ticket.objects.filter(
        ticket_created=previous_date).order_by('ticket_name')
    road_blocked_tickets = Ticket.objects.filter(ticket_status="Road Block")
    road_blocked_tasks = Task.objects.filter(task_status="Road Block")
    claimed_tickets = StandUpTickets.objects.filter(date=today).filter(
        user=request.user.id)
    claimed_tasks = StandUpTasks.objects.filter(date=today).filter(
        user=request.user.id)

    ticket_activity = TicketHistory.objects.filter(
        activity_date=previous_date).filter(
            ticket_active_user=request.user.id).order_by('ticket__ticket_name')
    task_activity = TaskHistory.objects.filter(
        activity_date=previous_date).filter(
            task_active_user=request.user.id).order_by('task__task_name')

    task_history = dict()
    for task in task_activity:
        try:
            task_history[task.task.task_name].append(task)
        except:
            task_history[task.task.task_name] = list()
            task_history[task.task.task_name].append(task)

    ticket_history = dict()
    for ticket in ticket_activity:
        try:
            ticket_history[ticket.ticket.ticket_name].append(ticket)
        except:
            ticket_history[ticket.ticket.ticket_name] = list()
            ticket_history[ticket.ticket.ticket_name].append(ticket)

    context = {
        'projects': projects,
        'task_activity': task_history,
        'tasks': tasks,
        'tickets': tickets,
        'ticket_activity': ticket_history,
        'road_blocked_tickets': road_blocked_tickets,
        'road_blocked_tasks': road_blocked_tasks,
        'claimed_tickets': claimed_tickets,
        'claimed_tasks': claimed_tasks
    }

    return render(request, "stand_up.html", context)
예제 #15
0
def make_submit(test_data: pd.DataFrame, live_data: pd.DataFrame):
    last_friday = datetime.now() + relativedelta(weekday=FR(-1))
    diagnostic_df = pd.concat([test_data, live_data])
    diagnostic_df['friday_date'] = diagnostic_df.friday_date.fillna(
        last_friday.strftime('%Y%m%d')).astype(int)
    diagnostic_df['data_type'] = diagnostic_df.data_type.fillna('live')
    return diagnostic_df[['bloomberg_ticker', 'friday_date',
                          'data_type', 'signal']].reset_index(drop=True)
예제 #16
0
def dte_rnge():  
    l_fri = datetime.today() + relativedelta(weekday=FR(-1))
    l_mon = l_fri + relativedelta(weekday=MO(-1))
    two_sats_string = (l_fri + relativedelta(weekday=SA(-1))).strftime('%Y-%m-%d') #needs dashes for SQL query params
    last_sat_string = (l_fri + relativedelta(weekday=SA(1))).strftime('%Y-%m-%d')  #needs dashes for SQL query params
    l_fri_string = l_fri.strftime('%Y-%m-%d') #need dashes to read correct string for filepath
    l_mon_string = l_mon.strftime('%Y%m%d')   #need without dashes to filter correct dates in pending reports
    return {'as400start': l_mon_string, 'as400end': l_fri_string, 'keastonestart':two_sats_string, 'keastoneend':last_sat_string}
예제 #17
0
def _next_expiry_date(base_datetime):
    next_expiry = base_datetime + relativedelta(weekday=FR(1))
    next_expiry = next_expiry.replace(hour=8,
                                      minute=0,
                                      second=0,
                                      microsecond=0)
    if base_datetime >= next_expiry:
        next_expiry += timedelta(days=7)
    return next_expiry
예제 #18
0
	def loadticks(self, now, is_closed):
		'''
		tz info back and forth is too much, clean that up
		'''
		now = now.replace(tzinfo=None)
		if is_closed:
			m = int(59 - self.minutes)
			cutoff = (now + relativedelta(weekday=FR(-1)))\
				.replace(hour=14, minute=m, second=55)
		else:
			cutoff = now - timedelta(minutes=self.minutes)
			cutoff = cutoff.replace(tzinfo=None)
		for table in self.tables:
			tname = table.__tablename__
			market_id = market_ids[tname]
			price_type = price_types[tname]
			while True:
				# if latest_ts >= now: don't scrape
				# elif cutoff < latest_ts < now: scrape from latest_ts
				# elif latest_ts < cutoff : scrape from cutoff
				is_current, latest_ts = self.db_is_current(table, cutoff)
				if is_current:
					break
					# leave while loop, continue for loop
				if cutoff < latest_ts < now:
					l_ts = int(latest_ts.timestamp())
				elif latest_ts < cutoff:
					# l_ts = int(cutoff.timestamp())
					l_ts = int(
					(dt.datetime.now()-timedelta(minutes=self.minutes)
					).timestamp())
					if is_closed: # enough already
						l_ts = int(cutoff.timestamp())
				ticks, status_code = self.get_ticks_after(
					market_id,
					l_ts,
					price_type
				)
				# if session_id is invalid, get new and try again
				self.check_error(ticks, status_code)
				rows = [
					table(
						timestamp=self.convert_wcf(
							int(tick['TickDate'][6:-2])
						),
						rate=tick['Price']
					) for tick in ticks['PriceTicks']
				]
				if len(rows) == 4000:
					self.db.session.add_all(rows)
					self.db.session.commit()
				elif len(rows) < 4000 and len(rows) > 0:
					self.db.session.add_all(rows)
					self.db.session.commit()
					break
				elif len(rows) == 0:
					break
 def placeholder_dates(self):
     d = date.today() - relativedelta(months=1)
     first_day = d - relativedelta(days=d.day - 1)
     temp_d = d+relativedelta(day=31, weekday=FR(-1)) + \
         relativedelta(weeks=1, days=1)
     if temp_d.day != 7:
         last_day = d+relativedelta(day=31, weekday=FR(-1)) + \
             relativedelta(weeks=1, days=1)
     else:
         last_day = d+relativedelta(day=31, weekday=FR(-1)) + \
             relativedelta(days=1)
     first_day = "{0}/{1}/{2}".format(
         str(first_day.month).zfill(2),
         str(first_day.day).zfill(2), first_day.year)
     last_day = "{0}/{1}/{2}".format(
         str(last_day.month).zfill(2),
         str(last_day.day).zfill(2), last_day.year)
     return first_day, last_day
예제 #20
0
def getLastFriday(date=None):
    """
    获取上周五的日期
    :return: datetime.datetime
    """
    if date is None:
        date = datetime.now()
    n = 1 if date.weekday() < 4 else 2
    lastFri = date + relativedelta(weekday=FR(-n))
    return datetime(lastFri.year, lastFri.month, lastFri.day)
예제 #21
0
    def _populate(self, year):
        # New Year's Day
        self[date(year, JAN, 1)] = "Aña Nobo [New Year's Day]"

        # Dia di Betico
        self[date(year, JAN, 25)] = "Dia Di Betico [Betico Day]"

        # Carnaval Monday
        self[easter(year) + rd(days=-48)] = "Dialuna di Carnaval \
            [Carnaval Monday]"

        # Dia di Himno y Bandera
        self[date(year, MAR, 18)] = "Dia di Himno y Bandera \
            [National Anthem & Flag Day]"

        # Good Friday
        self[easter(year) + rd(weekday=FR(-1))] = "Bierna Santo [Good Friday]"

        # Easter Monday
        self[easter(year) + rd(days=1)] = "Di Dos Dia di Pasco di Resureccion \
            [Easter Monday]"

        # King's Day
        if year >= 2014:
            kings_day = date(year, APR, 27)
            if kings_day.weekday() == 6:
                kings_day = kings_day - rd(days=1)

            self[kings_day] = "Aña di Rey [King's Day]"

        # Queen's Day
        if 1891 <= year <= 2013:
            queens_day = date(year, APR, 30)
            if year <= 1948:
                queens_day = date(year, AUG, 31)

            if queens_day.weekday() == 6:
                if year < 1980:
                    queens_day = queens_day + rd(days=1)
                else:
                    queens_day = queens_day - rd(days=1)

            self[queens_day] = "Aña di La Reina [Queen's Day]"

        # Labour Day
        self[date(year, MAY, 1)] = "Dia di Obrero [Labour Day]"

        # Ascension Day
        self[easter(year) + rd(days=39)] = "Dia di Asuncion [Ascension Day]"

        # Christmas Day
        self[date(year, DEC, 25)] = "Pasco di Nacemento [Christmas]"

        # Second Christmas
        self[date(year, DEC, 26)] = "Di Dos Dia di Pasco di \
예제 #22
0
    def _populate(self, year):
        # New years
        self[date(year, JAN, 1)] = "Nieuwjaarsdag"

        easter_date = easter(year)

        # Easter
        self[easter_date] = "Eerste paasdag"

        # Good friday
        self[easter_date + rd(weekday=FR(-1))] = "Goede Vrijdag"

        # Second easter day
        self[easter_date + rd(days=1)] = "Tweede paasdag"

        # Ascension day
        self[easter_date + rd(days=39)] = "Hemelvaart"

        # Pentecost
        self[easter_date + rd(days=49)] = "Eerste Pinksterdag"

        # Pentecost monday
        self[easter_date + rd(days=50)] = "Tweede Pinksterdag"

        # First christmas
        self[date(year, DEC, 25)] = "Eerste Kerstdag"

        # Second christmas
        self[date(year, DEC, 26)] = "Tweede Kerstdag"

        # Liberation day
        if year >= 1945 and year % 5 == 0:
            self[date(year, MAY, 5)] = "Bevrijdingsdag"

        # Kingsday
        if year >= 2014:
            kings_day = date(year, APR, 27)
            if kings_day.weekday() == SUN:
                kings_day = kings_day - rd(days=1)

            self[kings_day] = "Koningsdag"

        # Queen's day
        if 1891 <= year <= 2013:
            queens_day = date(year, APR, 30)
            if year <= 1948:
                queens_day = date(year, AUG, 31)

            if queens_day.weekday() == SUN:
                if year < 1980:
                    queens_day = queens_day + rd(days=1)
                else:
                    queens_day = queens_day - rd(days=1)

            self[queens_day] = "Koninginnedag"
예제 #23
0
def pel_proj_sales(sql, conn):
    df = pd.read_sql(sql['pelsalesproj'], conn, parse_dates=['proj_dte'])
    df.set_index('proj_dte', inplace=True)
    df2 = df.resample('W-FRI', how='sum')
    df2['age_weeks'] = np.floor(
        ((datetime.today() + relativedelta(weekday=FR(-1)) - df2.index) /
         np.timedelta64(1, 'W')))
    df3 = df2[df2['age_weeks'] < 0]
    df4 = df3.head(13).copy()
    df4.sort('age_weeks', inplace=True)
    return df4
예제 #24
0
def getURL():
    today = datetime.datetime.today()
    monday = today-relativedelta(weekday=MO(-1))

	#gets last friday datetime obj.
    global friday
    friday = today-relativedelta(weekday=FR(-1))

	#Source reports data with Monday's date, but we stored it as a Friday date.
    global url
    url = 'https://market.jsda.or.jp/en/statistics/bonds/prices/otc/files/{year}/ES{date}.xls'.format(year = monday.strftime('%Y'), date = monday.strftime('%y%m%d'))
예제 #25
0
 def cut_data(self, data, creation_time):
     today = str((now() + relativedelta(weekday=FR(-1))).date())
     creation_time = str(creation_time)
     idx1 = 0
     idx2 = 0
     for idx, i in enumerate(data):
         if i['date'] == creation_time:
             idx1 = idx
         if i['date'] == today:
             idx2 = idx
     return data[idx1:idx2]
예제 #26
0
        def next_friday_date_func():
            next_friday_date_label = Label(startpage_top_right_frame,
                                           text="Next Friday:",
                                           bg="white")
            next_friday_date_label.grid(row=5, column=0)
            next_friday_date_date_var = StringVar()
            next_friday_date_date_entry = Entry(
                startpage_top_right_frame,
                textvariable=next_friday_date_date_var)
            next_friday_date_date_entry.grid(row=5, column=1)
            next_friday_date_date_check = ((
                today - relativedelta(weekday=FR(+1))).strftime("%d-%m-%Y"))

            if next_friday_date_date_check == today:
                next_friday_date_date_var.set(
                    (today -
                     relativedelta(weekday=FR(+2))).strftime("%d-%m-%Y"))
            else:
                next_friday_date_date_var.set(
                    (today -
                     relativedelta(weekday=FR(+1))).strftime("%d-%m-%Y"))
예제 #27
0
def predict(gbm: lgb.Booster, test_data: pd.DataFrame, full_data: pd.DataFrame, feature_names: List[str]):
    last_friday = datetime.now() + relativedelta(weekday=FR(-1))
    date_string = last_friday.strftime('%Y-%m-%d')
    print(date_string)
    live_data = full_data.loc[date_string].copy()
    live_data.dropna(subset=feature_names, inplace=True)
    live_data[PREDICTION_NAME] = gbm.predict(live_data[feature_names])
    test_data[PREDICTION_NAME] = gbm.predict(test_data[feature_names])
    return dict(
        predicted_live_data=live_data,
        predicted_test_data=test_data
    )
예제 #28
0
        def last_friday_date_func():
            last_friday_date_label = Label(startpage_top_right_frame,
                                           text="Last Friday:",
                                           bg="white")
            last_friday_date_label.grid(row=4, column=0)
            last_friday_date_date_var = StringVar()
            last_friday_date_date_entry = Entry(
                startpage_top_right_frame,
                textvariable=last_friday_date_date_var)
            last_friday_date_date_entry.grid(row=4, column=1)
            last_friday_date_date_check = ((
                today - relativedelta(weekday=FR(-1))).strftime("%d-%m-%Y"))

            if last_friday_date_date_check == today:
                last_friday_date_date_var.set(
                    (today -
                     relativedelta(weekday=FR(-2))).strftime("%d-%m-%Y"))
            else:
                last_friday_date_date_var.set(
                    (today -
                     relativedelta(weekday=FR(-1))).strftime("%d-%m-%Y"))
예제 #29
0
def main():
    """
    Creates example_signal_upload.csv to upload for validation and live data submission
    """
    # choose data as of most recent friday
    last_friday = datetime.now() + relativedelta(weekday=FR(-1))
    feature_names, train_data, test_data, live_data = download_data(
        last_friday)

    model = train(train_data, feature_names, MODEL_ID, MODEL)
    predictions = predict(test_data, live_data, last_friday, feature_names,
                          model)
    submit(predictions, "example_signals.csv", MODEL_ID)
예제 #30
0
    def _populate(self, year):
        # New Year's Day
        self[date(year, JAN, 1)] = "Año Nuevo [New Year's Day]"

        # Feast of Saints Peter and Paul
        name = "San Pedro y San Pablo [Feast of Saints Peter and Paul]"
        self[date(year, JUN, 29)] = name

        # Independence Day
        name = "Día de la Independencia [Independence Day]"
        self[date(year, JUL, 28)] = name

        name = "Día de las Fuerzas Armadas y la Policía del Perú"
        self[date(year, JUL, 29)] = name

        # Santa Rosa de Lima
        name = "Día de Santa Rosa de Lima"
        self[date(year, AUG, 30)] = name

        # Battle of Angamos
        name = "Combate Naval de Angamos [Battle of Angamos]"
        self[date(year, OCT, 8)] = name

        # Holy Thursday
        self[easter(year) +
             rd(weekday=TH(-1))] = "Jueves Santo [Maundy Thursday]"

        # Good Friday
        self[easter(year) + rd(weekday=FR(-1))] = "Viernes Santo [Good Friday]"

        # Holy Saturday
        self[easter(year) +
             rd(weekday=SA(-1))] = "Sábado de Gloria [Holy Saturday]"

        # Easter Sunday
        self[easter(year) +
             rd(weekday=SU(-1))] = "Domingo de Resurrección [Easter Sunday]"

        # Labor Day
        self[date(year, MAY, 1)] = "Día del Trabajo [Labour Day]"

        # All Saints Day
        name = "Día de Todos Los Santos [All Saints Day]"
        self[date(year, NOV, 1)] = name

        # Inmaculada Concepción
        name = "Inmaculada Concepción [Immaculate Conception]"
        self[date(year, DEC, 8)] = name

        # Christmas
        self[date(year, DEC, 25)] = "Navidad [Christmas]"