- ago
Can you please name providers that provide not only Ex-date, but also actual payment date?

And also how to access this property in C# (found an example bars.EventDataPoints.LastOrDefault(eventData => eventData.Name == myFieldName))?

Thank you
0
82
Solved
5 Replies

Reply

Bookmark

Sort
- ago
#1
I would start by reading the blog discussion about WL fundamental event providers. These types of providers would have dividend information. https://www.wealth-lab.com/blog/wealthlab-data-providers

I'm not sure the free choices will have the breath of information you want, but you certainly can jump for a paid subscription to get the more extensive data you are looking for. The other consideration is that the paid choices are much faster than the free choices. (I typically disable the free choices during my morning data download.) EODHD is certainly one of those paid choices that offers an extensive fundamental subscription for $60/month.

Finally, there are some fundamental providers like Tiingo that have tons of fundamental data available in their API, but no one has written a WL event provider extension to get some of this data into WL. If you're a programmer (Can you write code for a REST endpoint?), you can write one yourself or pay someone to do it. My point is to examine each individual fundamental data provider website to determine if the information you want is available, then investigate if there's a WL event provider extension to bring that particular data into WL.
1
Cone8
 ( 22.26% )
- ago
#2
The free Nasdaq Event Provider (Data Extensions) has that, as does Tradier (with an account).

CODE:
      public override void Initialize(BarHistory bars)       {          WriteToDebugLog("Value\tDeclared\tRecordDate\tPaymentDate\tDivType");          for (int i = 0; i < bars.EventDataPoints.Count; i++)          {             EventDataPoint edp = bars.EventDataPoints[i];             if (edp.ProviderName.StartsWith("Nasdaq") && edp.ItemName == "Dividend" && edp.HasDetailItems)                WriteToDebugLog($"{edp.Value:N4}\t{edp.Details["PaymentDate"]:yyyy-MM-dd}\t{edp.Details["DeclarationDate"]:yyyy-MM-dd}\t{edp.Details["RecordDate"]:yyyy-MM-dd}\t{edp.Details["DivType"]}");          }       }
1
Best Answer
- ago
#3
Thank you very much for the advices. Yesterday I examined Tiingo API, but the dividend endpoint is in Beta and only available on request.

I will try the free Nasdaq provider, and the kindly provided source-code
1
- ago
#4
It seems that Nasdaq doesn't load any dividend data. I simplified the code to:

CODE:
   public override void Initialize(BarHistory bars)       {          WriteToDebugLog("Value\tDeclared\tRecordDate\tPaymentDate\tDivType");          for (int i = 0; i < bars.EventDataPoints.Count; i++)          {             EventDataPoint edp = bars.EventDataPoints[i];             WriteToDebugLog(edp.ItemName + " " + edp.Date);          }       }


The output is:

CODE:
Value   Declared   RecordDate   PaymentDate   DivType Short Interest 13.09.2024 0:00:00 Short Interest 30.09.2024 0:00:00 Short Interest 15.10.2024 0:00:00 Short Interest 31.10.2024 0:00:00 Short Interest 15.11.2024 0:00:00 Short Interest 29.11.2024 0:00:00 Short Interest 13.12.2024 0:00:00 Short Interest 31.12.2024 0:00:00 Short Interest 15.01.2025 0:00:00 Short Interest 31.01.2025 0:00:00 Short Interest 14.02.2025 0:00:00 Short Interest 28.02.2025 0:00:00 Short Interest 14.03.2025 0:00:00 Short Interest 31.03.2025 0:00:00 Short Interest 15.04.2025 0:00:00 Short Interest 30.04.2025 0:00:00 Short Interest 15.05.2025 0:00:00 Short Interest 30.05.2025 0:00:00 Short Interest 13.06.2025 0:00:00 Short Interest 30.06.2025 0:00:00 Short Interest 15.07.2025 0:00:00 Short Interest 31.07.2025 0:00:00 Short Interest 15.08.2025 0:00:00 Short Interest 29.08.2025 0:00:00


Dividends are ON:





What am I missing?

Thank you!
0
- ago
#5
Well not every stock pays dividends. These stocks work for me.
ADEA AAON ADI ADSK ADTN AEIS

My code below is slightly different, but that's only because I define eventDataPoints as a "local" variable within MyStrategy. But I don't think you have to do that. I also corrected the ordering of the dates in the Write statement. Make sure you have all the using statements defined as needed.

CODE:
using System.Collections.Generic; //for List<EventDataPoint> using WealthLab.Backtest; using WealthLab.Core; using WealthLab.Data; //for DataExtensions extension namespace WealthScript142 {    public class MyStrategy : UserStrategyBase    {       List<EventDataPoint> eventDataPoints;              public override void Initialize(BarHistory bars)       {          eventDataPoints = bars.EventDataPoints;          WriteToDebugLog("Value\tDeclared\tRecordDate\tPaymentDate\tDivType");          foreach (EventDataPoint edp in eventDataPoints)          {             if (edp.ProviderName.StartsWith("Nasdaq") && edp.ItemName == "Dividend" && edp.HasDetailItems)                WriteToDebugLog($"{edp.Value:N4}\t{edp.Details["DeclarationDate"]}\t{edp.Details["RecordDate"]}\t{edp.Details["PaymentDate"]}\t{edp.Details["DivType"]}");          }       }       public override void Execute(BarHistory bars, int idx) { }    } }

CODE:
---Symbol by Symbol Debug Logs--- ---ADI--- Value   Declared   RecordDate   PaymentDate   DivType 0.0600   8/12/2004   8/27/2004   9/15/2004   Cash 0.0600   11/23/2004   12/3/2004   12/22/2004   Cash 0.0600   2/10/2005   2/25/2005   3/16/2005   Cash 0.1000   5/12/2005   5/27/2005   6/15/2005   Cash 0.1000   8/11/2005   8/26/2005   9/14/2005   Cash 0.1200   11/15/2005   11/25/2005   12/14/2005   Cash 0.1600   3/14/2006   5/26/2006   6/14/2006   Cash 0.1600   8/10/2006   8/25/2006   9/13/2006   Cash 0.1600   11/14/2006   11/24/2006   12/13/2006   Cash 0.1800   2/21/2007   3/9/2007   3/28/2007   Cash 0.1800   5/22/2007   6/1/2007   6/20/2007   Cash 0.1800   8/21/2007   8/31/2007   9/19/2007   Cash 0.1800   11/27/2007   12/7/2007   12/26/2007   Cash 0.1800   2/20/2008   3/7/2008   3/26/2008   Cash 0.2000   5/20/2008   5/30/2008   6/18/2008   Cash 0.2000   8/18/2008   8/29/2008   9/17/2008   Cash 0.2000   11/20/2008   12/5/2008   12/24/2008   Cash 0.2000   5/18/2009   5/29/2009   6/17/2009   Cash 0.2000   8/17/2009   8/27/2009   9/16/2009   Cash 0.2000   11/19/2009   12/4/2009   12/23/2009   Cash 0.2000   2/16/2010   3/5/2010   3/24/2010   Cash 0.2200   5/17/2010   5/28/2010   6/16/2010   Cash 0.2200   8/16/2010   8/27/2010   9/15/2010   Cash 0.2200   11/19/2010   12/3/2010   12/22/2010   Cash 0.2200   2/14/2011   3/4/2011   3/23/2011   Cash 0.2500   5/16/2011   5/27/2011   6/15/2011   Cash 0.2500   8/15/2011   8/26/2011   9/14/2011   Cash 0.2500   11/18/2011   12/2/2011   12/21/2011   Cash 0.3000   2/21/2012   3/9/2012   3/28/2012   Cash 0.3400   8/19/2013   8/30/2013   9/11/2013   Cash 0.3400   11/25/2013   12/6/2013   12/17/2013   Cash 0.3700   2/17/2014   2/28/2014   3/11/2014   Cash 0.3700   5/19/2014   5/30/2014   6/10/2014   Cash 0.3700   8/25/2014   9/5/2014   9/17/2014   Cash 0.3700   11/24/2014   12/5/2014   12/16/2014   Cash 0.4000   2/16/2015   2/27/2015   3/10/2015   Cash 0.4000   5/18/2015   5/29/2015   6/9/2015   Cash 0.4000   8/17/2015   8/28/2015   9/9/2015   Cash 0.4000   11/23/2015   12/4/2015   12/15/2015   Cash 0.4200   2/15/2016   2/26/2016   3/8/2016   Cash 0.4200   5/16/2016   5/27/2016   6/7/2016   Cash 0.4200   8/15/2016   8/26/2016   9/7/2016   Cash 0.4200   11/21/2016   12/2/2016   12/13/2016   Cash 0.4500   2/13/2017   2/24/2017   3/7/2017   Cash 0.4500   5/30/2017   6/9/2017   6/20/2017   Cash 0.4500   8/28/2017   9/8/2017   9/19/2017   Cash 0.4500   11/20/2017   12/1/2017   12/12/2017   Cash 0.4800   2/27/2018   3/9/2018   3/20/2018   Cash 0.4800   5/29/2018   6/8/2018   6/19/2018   Cash 0.4800   8/21/2018   8/31/2018   9/12/2018   Cash 0.4800   11/19/2018   11/29/2018   12/10/2018   Cash 0.5400   2/19/2019   3/1/2019   3/12/2019   Cash 0.5400   5/21/2019   5/31/2019   6/11/2019   Cash 0.5400   8/20/2019   8/30/2019   9/11/2019   Cash 0.5400   11/25/2019   12/6/2019   12/17/2019   Cash 0.6200   2/18/2020   2/28/2020   3/10/2020   Cash 0.6200   5/19/2020   5/29/2020   6/9/2020   Cash 0.6200   8/18/2020   8/28/2020   9/9/2020   Cash 0.6200   11/23/2020   12/4/2020   12/15/2020   Cash 0.6900   2/16/2021   2/26/2021   3/9/2021   Cash 0.6900   5/18/2021   5/28/2021   6/8/2021   Cash 0.6900   8/17/2021   8/27/2021   9/8/2021   Cash 0.6900   11/22/2021   12/3/2021   12/14/2021   Cash 0.7600   2/15/2022   2/25/2022   3/8/2022   Cash 0.7600   5/17/2022   5/31/2022   6/9/2022   Cash 0.7600   8/16/2022   8/30/2022   9/8/2022   Cash 0.7600   11/21/2022   12/5/2022   12/15/2022   Cash 0.8600   2/14/2023   2/27/2023   3/8/2023   Cash 0.8600   5/23/2023   6/5/2023   6/14/2023   Cash 0.8600   8/22/2023   9/5/2023   9/14/2023   Cash 0.8600   11/20/2023   12/4/2023   12/14/2023   Cash 0.9200   2/20/2024   3/5/2024   3/15/2024   Cash 0.9200   5/21/2024   6/4/2024   6/17/2024   Cash 0.9200   8/20/2024   9/3/2024   9/17/2024   Cash 0.9200   11/25/2024   12/9/2024   12/20/2024   Cash 0.9900   2/18/2025   3/4/2025   3/17/2025   Cash 0.9900   5/21/2025   6/4/2025   6/18/2025   Cash 0.9900   8/19/2025   9/2/2025   9/16/2025   Cash
0

Reply

Bookmark

Sort