InsiderCow: fundamental provider for insider transactions data

Modified on 2015/06/17 08:12 by Eugene — Categorized as: Providers

What it is

This fundamental provider downloads the complete historical insider transaction data for U.S. stocks available at InsiderCow a.k.a

Part of MS123 Extra Fundamental/News Providers.

Sample chart annotations

Sample chart annotations

The provider only considers meaningful transactions. Gifts, grants, are automatically filtered out. Each insider transaction record comes with extra details attached: actual trade date, filed date, insider name/firm, relationship (i.e. job title), total proceeds. They are available in two forms:

Reported vs. actual dates

Unlike the many sources of insider transaction information out there, this provider is using "filed dates" i.e. the actual date of reporting the transaction by the insider. According to a regulation, insiders have two business days to report their trades. However, to use the widely available elsewhere "trade date" in backtesting you'd have to look over the insider's shoulder when she closes the deal. Obviously, this is virtually impossible to know before they actually file their trades with the SEC. Consequently, accurate backtesting of insider transactions implies that you rely on filed dates.

The actual transaction date, of course, is not lost and is also present in the data. Here's an example of obtaining it in a WealthScript Strategy via FormatValue. Make sure you've collected the fundamental data before running this Strategy (Data Manager > Update Data tab > check "Insider Transactions" > DataSets tab > "Update DataSet"):

using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using WealthLab;
using WealthLab.Indicators;

namespace WealthLab.Strategies { public class MyStrategy : WealthScript { protected override void Execute() { // Illustrates the usage of FormatValue using the fundamental data item "insider transaction"

const char tab = '\u0009'; string item = "insider transaction"; IList<FundamentalItem> fList = FundamentalDataItems(item); ClearDebug(); PrintDebug(Bars.Symbol + tab + "Item Count: " + fList.Count); PrintDebug("Insider Transaction"); foreach (FundamentalItem fi in fList) { PrintDebug(fi.FormatValue().Replace("\n", " ") ); }

} } }

Known issues and limitations