Datetime Python - Nächster Geschäftstag

8

Zwei damit zusammenhängende Probleme: (1) Alle Daten, mit denen ich arbeite, sind an Wochentage gebunden. An verschiedenen Stellen muss ich wissen, was der nächste Wochentag ist. Ich habe etwas wie den folgenden Code geschrieben, um diese Entscheidung zu treffen, aber ich bin mir sicher, dass es einen besseren Weg gibt. Jemand? (2) Im Idealfall muss ich nicht nur den nächsten Werktag, sondern den nächsten US-Geschäftstag kennen - also den nächsten Werktag, der kein US-Markt ist. Jede Hilfe dazu wäre auch großartig.

%Vor%     
johnjdc 08.02.2012, 02:52
quelle

4 Antworten

14

Ich würde dateutil.rrule verwenden:

%Vor%     
Jakub Roztocil 08.02.2012, 03:12
quelle
6

Diese Frage ist häufig und es gibt verschiedene Ebenen von Lösungen:

Am einfachsten: Verwenden Sie so etwas wie Ihren Ansatz, den Wochentag zu überprüfen. Ein gängiges Idom ist etwas wie

%Vor%

Sobald Sie Urlaub wollen, können Sie Ihre eigene Datetime "TradingDateChecker" rollen, die nach den "vorhersehbaren" Feiertagen wie 1. Januar, 4. Juli, 25. Dezember am Freitag vor oder nach dem Montag suchen muss, wenn sie auf ein Wochenende fallen, letzten Montag im Mai, ersten Montag im September usw.

Ich werde diesen Code hier gar nicht posten, weil er für Handelsferien immer noch nicht ausreicht.

  • Am Karfreitag ist die NYSE geschlossen und die Märkte für Futures und Anleihen sind geöffnet
  • Columbus Day und Veterans Day, die Banken sind geschlossen und der Aktienmarkt ist geöffnet.

Die Aktien- und Terminmärkte haben unterschiedliche Feiertage. Wenn Sie NYSE Ferien wollen (eine allgemeine Anfrage) siehe unten. Sie können nicht wirklich herumkommen und Ihren eigenen Kalender behalten, da die Schlusstermine in der Regel erst in ein paar Jahren angekündigt werden.

%Vor%     
Phil Cooper 08.02.2012 03:41
quelle
1

Ein anderer Weg ohne Wenns wäre:

%Vor%

das würde auch funktionieren, wenn Sie es an einem Samstag oder Sonntag machen.

    
George Battaglia 01.12.2015 12:17
quelle
1

Ich habe das Paket holidays verwendet.

%Vor%

Hier ist die Funktion, die ich gemacht habe, um den nächsten Arbeitstag nach dem heutigen Tag zu bestimmen.

%Vor%

Es wird das morgige Datum zurückgeben, wenn morgen kein Wochenende und kein Feiertag ist. Sonst wird es den nächsten Tag finden, der keines dieser Dinge ist. Beispiel läuft am Mittwoch, 15. März 2017:

%Vor%

* Vorsicht, falls Präsident Camacho jeden Tag einen Feiertag erklärt, könnte dies eine Endlosschleife sein. / p>     

BobStein-VisiBone 16.03.2017 02:12
quelle

Tags und Links