Investment Industry of Canada (“IIROC”) – Listing of Dealer Notices

For sometime I have liked to have a “complete” listing of IIROC Dealer Member Notices handy for quick reference.

 

I wrote this watir\nokogiri “crawler” to collect this data as follows:

 

require ‘nokogiri’
require ‘rubygems’
require ‘watir-webdriver’

rows = Array.new

file = File.open(‘./iiroc_notice_listing.html’

buy cheap kamagra online

, “w”)

### Defines Array Class for HTML Table output ###
class Array
def to_cells(tag)
self.map { |c| “<#{tag}>#{c}</#{tag}>” }.join
end
end

browser = Watir::Browser.new :chrome
browser.goto ‘http://www.iiroc.ca/news/Pages/Notices.aspx’

for i in (1..54)

doc = Nokogiri::HTML.parse(browser.html)

a=0
for t in (1..9)
puts “#{doc.css(‘#WebPartWPQ2 table:nth-child(1) tr > :nth-child(1)’)[t].text}\t#{doc.css(‘//*[@id=”WebPartWPQ2″] a’)[t+(t.to_i*-1)+a].text}\thttp:\/\/www.iiroc.ca#{doc.css(‘//*[@id=”WebPartWPQ2″] a’)[t+(t.to_i*-1)+a][‘href’]}”

date = “#{doc.css(‘#WebPartWPQ2 table:nth-child(1) tr > :nth-child(1)’)[t].text}”
notice_link = “http:\/\/www.iiroc.ca#{doc.css(‘//*[@id=”WebPartWPQ2″] a’)[t+(t.to_i*-1)+a][‘href’]}”
notice = “#{doc.css(‘//*[@id=”WebPartWPQ2″] a’)[t+(t.to_i*-1)+a].text}”
notice.gsub!(/“|â€/,”)
combi_notice = “<a href=\”#{notice_link}\”>#{notice}</a>”

rows << {“Date” => date, “Notice” => combi_notice}

a+=2
end

browser.image(:alt => “Next”).click

end

### Rolls HTML Table output ###
headers = “<tr>#{rows[0].keys.to_cells(‘th’)}</tr>”
cells = rows.map do |row|
“<tr>#{row.values.to_cells(‘td’)}</tr>”
end.join(“\n “)
table = “<table border=\”1\”>
#{headers}
#{cells}
</table>”
file.puts table

 

 

National Futures Association – Background Affiliation Status Information Center (BASIC) – Search – Part II

 The Background Affiliation Status Information Center (BASIC) on the National Futures Association website includes detailed membership information on those in the “U.S. derivatives industry, including on-exchange traded futures, retail off-exchange foreign currency (forex) and OTC derivatives (swaps).”. This includes information on those individuals and entities that have been found in non-compliance with regulations.

The listing here was generated from a “crawl” through the 28,785 membership listings on the site

, and includes only those (1,420 entities) with current regulatory compliance findings against them, including details on these findings.

created at TagCrowd.com

The Ruby script used to “crawl” the site and extract the data is as follows:

 

require ‘rubygems’
require ‘watir-webdriver’

ary_of_links = Array.new

rows = Array.new

### Defines Array Class for HTML Table output ###
class Array
def to_cells(tag)
self.map { |c| “<#{tag}>#{c}</#{tag}>” }.join
end
end

browser = Watir::Browser.new :chrome

[*(‘A’..’Z’)

antibiotika-online.com

,*(‘0’..’9′)].each do |letter|

browser.goto ‘http://www.nfa.futures.org/basicnet/welcome.aspx’
browser.text_field(:name, ‘_ctl0:cphMain:txtFirm’).set letter
browser.link(:onclick=>”SubmitSearch(‘FIRM’);”).click

loop do

table = browser.table(:id, ‘_ctl0_cphMain_grdType1’)

### First Page ###
browser.table(:id, ‘_ctl0_cphMain_grdType1’)[0][0].links.each do |linkz|

if linkz.text.to_s !~ /…/
ary_of_links << linkz.href
end

end
tbl_Rows = browser.table(:id, ‘_ctl0_cphMain_grdType1’).rows.length

for t in 2..tbl_Rows.to_i-2

registrant = browser.table(:id, ‘_ctl0_cphMain_grdType1’)[t][0].text

browser.table(:id, ‘_ctl0_cphMain_grdType1’)[t][0].link(:index, 0).click

details_tbl_Rows = browser.table(:xpath, ‘//*[@id=”_ctl0_cphMain_tdCases1″]/table/tbody/tr[2]/td/table/tbody/tr/td/table’).rows.length

for i in 1..details_tbl_Rows.to_i-2

if browser.table(:xpath, ‘//*[@id=”_ctl0_cphMain_tdCases1″]/table/tbody/tr[2]/td/table/tbody/tr/td/table’)[i][1].text.to_i > 0
registrant =”#{registrant}”
browser.link(:text, ‘details…’).click

reg_details_Rows = browser.table(:xpath, ‘//*[@id=”_ctl0_cphMain_grdTypeReg”]’).rows.length

for p in 1..reg_details_Rows.to_i-1

source = browser.table(:xpath, ‘//*[@id=”_ctl0_cphMain_grdTypeReg”]’)[p][0].text
case_link = browser.table(:xpath, ‘//*[@id=”_ctl0_cphMain_grdTypeReg”]’)[p][1].link.href
case_nbr = browser.table(:xpath, ‘//*[@id=”_ctl0_cphMain_grdTypeReg”]’)[p][1].text
case_detail = “<a href=\”#{case_link}\”>#{case_nbr}</a>”
action_type = browser.table(:xpath, ‘//*[@id=”_ctl0_cphMain_grdTypeReg”]’)[p][2].html
action_type.gsub!(/•/,’-‘)
action_type.gsub!(/<td style=”font-size:9px;width:190px;”>|<\/td>|<td style=”font-size:9px;”>/,”)
outcomes = browser.table(:xpath, ‘//*[@id=”_ctl0_cphMain_grdTypeReg”]’)[p][4].html
outcomes.gsub!(/•/,’-‘)
outcomes.gsub!(/<td style=”font-size:9px;width:190px;”>|<\/td>|<td style=”font-size:9px;”>/,”)

rows << {“Name” => registrant, “Contributor” => source, “Case #” => case_detail, “Action Type” => action_type, “Outcomes” => outcomes}

end

browser.back

break

end

end

browser.back
end
### Subsequent Pages ###
if browser.table(:id, ‘_ctl0_cphMain_grdType1’)[0][0].text !~ /\.\.\..*?\d+\Z/

ary_of_links.each do |item|

browser.link(:href => “#{item}”).click

tbl_Rows = browser.table(:id, ‘_ctl0_cphMain_grdType1’).rows.length

for t in 2..tbl_Rows.to_i-2
registrant = browser.table(:id, ‘_ctl0_cphMain_grdType1’)[t][0].text

puts “#{t}\t#{registrant}”

browser.table(:id, ‘_ctl0_cphMain_grdType1’)[t][0].link(:index, 0).click

details_tbl_Rows = browser.table(:xpath, ‘//*[@id=”_ctl0_cphMain_tdCases1″]/table/tbody/tr[2]/td/table/tbody/tr/td/table’).rows.length

for i in 1..details_tbl_Rows.to_i-2

if browser.table(:xpath, ‘//*[@id=”_ctl0_cphMain_tdCases1″]/table/tbody/tr[2]/td/table/tbody/tr/td/table’)[i][1].text.to_i > 0
browser.link(:text, ‘details…’).click
reg_details_Rows = browser.table(:xpath, ‘//*[@id=”_ctl0_cphMain_grdTypeReg”]’).rows.length

for p in 1..reg_details_Rows.to_i-1

source = browser.table(:xpath, ‘//*[@id=”_ctl0_cphMain_grdTypeReg”]’)[p][0].text
case_link = browser.table(:xpath, ‘//*[@id=”_ctl0_cphMain_grdTypeReg”]’)[p][1].link.href
case_nbr = browser.table(:xpath, ‘//*[@id=”_ctl0_cphMain_grdTypeReg”]’)[p][1].text
case_detail = “<a href=\”#{case_link}\”>#{case_nbr}</a>”
action_type = browser.table(:xpath, ‘//*[@id=”_ctl0_cphMain_grdTypeReg”]’)[p][2].html
action_type.gsub!(/•/,’-‘)
action_type.gsub!(/<td style=”font-size:9px;width:190px;”>|<\/td>|<td style=”font-size:9px;”>/,”)
outcomes = browser.table(:xpath, ‘//*[@id=”_ctl0_cphMain_grdTypeReg”]’)[p][4].html
outcomes.gsub!(/•/,’-‘)
outcomes.gsub!(/<td style=”font-size:9px;width:190px;”>|<\/td>|<td style=”font-size:9px;”>/,”)

rows << {“Name” => registrant, “Contributor” => source, “Case #” => case_detail, “Action Type” => action_type, “Outcomes” => outcomes}

end

browser.back

break
end

end

browser.back
end

end
end

ary_of_links.clear
### Upon reaching the end of the “Subsequent Pages” the next section handles new table ranges, or if at the end of a query exists the loop ###

if browser.table(:id, ‘_ctl0_cphMain_grdType1′)[0][0].text =~ /\.\.\..*?\.\.\./
browser.link(:text =>’…’, index: 1).click

elsif browser.table(:id, ‘_ctl0_cphMain_grdType1’)[0][0].text =~ /.*?\d+\s+\.\.\./

browser.link(:text =>’…’).click

else
break
end

end

end
### Rolls HTML Table output ###
headers = “<tr>#{rows[0].keys.to_cells(‘th’)}</tr>”
cells = rows.map do |row|
“<tr>#{row.values.to_cells(‘td’)}</tr>”
end.join(“\n “)
table = “<table border=\”1\”>
#{headers}
#{cells}
</table>”
puts table

 

 

General Notes – 22nd Annual Forum on International Tax Withholding and Information Reporting – June 17-18, 2010 New York City

Introduction

  • Record attendance this year (FATCA?!) with 237 registered participants (up from ~150 in prior years); 39 attending from outside the U.S.

IRS Perspective – Michael Danilack (IRS, Deputy Commissioner) Rosemary Sereti (IRS, Director Field Operations – LMSB)

  • Chapter 3 Withholding Issues – Do they have a proper place on withholding agent’s (QI’s) radar?
  • 10-15 years ago effort expended to update Regulations – Resulted in QI program
  • Guidance and enforcement efforts have been the focus of the IRS over the past 10 years
  • Government has been lenient to date
  • Increasing criticism of QI enforcement leveled at the IRS – Government Accountability Office (GAO) and Permanent Subcommittee on Investigations (PSI) have both issued “strongly worded” reports calling for greater IRS enforcement
  • “UBS” issue drew focus onto QI program, and has led to new Chapter 4 (FATCA) requirements
  • Chapter 3 and Chapter 4 are separate and distinct, but “do come together for administration purposes”
  • Globally, Tax Administrations are coming together – “Truly working together” (example cited OECD/G20 Global Forum)
  • In 2008, IRS made withholding a “Tier 1” issue
  • 3 areas of specific focus:
  1. Withholding on foreign Athletes and Entertainers who utilize Proc. 89-47, but are deemed to be abusing this facility – New focus on non-compliance (“Some folks using ‘entities’”)
  2. Voluntary Compliance Program (VCP) – Multinational entities, and issues with payments – Not just focused on Financial Institutions
  3. SWAPS

    , Derivatives, Total Return Structures, Securities Lending Transactions, Substitute Dividends & Dividend Equivalents  – IRS has been training field officers, and providing “direction”

      • What’s Next?
      • IRS is very busy with FATCA
      • IRS is “not going to sleep” on QI
      • Notice 2008-98 – “Changes are coming – Stay Tuned”
      • Possible areas for improvement:
        • More electronic\less paper
        • Are QI Audits too predictable?
        • Evaluate “cures” – too easy to cure documentation failures
        • “Do overs are over”
        • Too much leniency
        • QI Agreement renewals on 2012 will possibly be electronically filed (coordinated with FATCA certification….?) “Stay tuned”
      • “Do not take in non-disclosed account holders” – a tightening of compliance is just beginning….
      • IRS remains open to formal or informal discussions/disclosure on issues and wants to work with industry to identify solutions to ongoing problems
      • IRS also would like to eliminate the “Race to the Bottom” dynamic
      • Program Enhancements – what’s next?
      • Greater coordination between QI, Withholding Teams and International Examiners
      • NRA versus Back-up withholding – better coordination
      • Penalties – Going to be tougher, more aggressive
      • Focus audits on other payments (e.g. FX, Fees, LOC’s, Sec. Loans, Repos, Derivatives, Custody & Brokerage payments)
      • “Stop looking only at the paper”
      • Questions for Financial Institutions to consider:
      • What systems are currently in place to track payments, and are these integrated across all entities within organizations?
      • How is data input into systems, and what overrides are facilitated?
      • Do existing systems make faulty assumptions?

      Carl Cooper (IRS, Senior Counsel)

      • My general observation from Carl’s presentation (no slides offered) was that he (always) holds his cards very close to his chest; but he did provided the following in the form of an “acknowledgement”, and not a commitment!
      • FATCA guidance coming “at the end of the summer”
      • Process is “very fluid”
      • IRS has received requests, to prioritize FATCA issues\items, and is sensitive to this approach whereby issues may be addressed in a phased information release based upon a “Risk Analysis”
      • IRS focus is on the overall architecture
      • How to ID U.S. accounts is still a major focus – Existing versus new accounts – Requirement to comb through data

        buy kamagra 100mg

        , and then follow-up based on indicators

      • IRS is looking to understand insurance companies and the types of products offered, and encourages industry participation in developing their understanding
      • Considering jurisdictions that have existing, and well developed information exchange programs
      • Securities versus deposit accounts continue to be of interest
      • FFI Carve Outs – Pension Plans? Collective Investment Vehicles? Any IRS determination will be based on Risk Assessment – Provide specific details and definitions or these entities that are requesting exemption
      • Derivatives……..
      • 2010-46……
      • More to come
      • Encourages more conversation with the industry (please step forward…!)
      • 2010-46 Background
      • Notice 97-66 governed U.S. source substitute DIV & INT payments
      • Revisited in 2008 as PSI identified these being abused to avoid withholding
      • FATCA 5.41 set up a statutory requirement to show proof of overwithholding
      • Timeframe
        • Immediate impact
        • Transition Rule (FATCA) Sept. 2010
        • Full implementation (stay tuned)
        • Utilizes QI (with Qualified Securities Lending agreement)
          • Credit forward (DIV) based on documentation
          • 1042-S reporting – Gross reporting backed up by credits
          • QI’s generally do 1042-Pooled reporting – QSL?…..”Maybe”…. probably “yes” can use 1042-Pooled. Pooled reporting would be “last piece of the chain”. First group of lenders would appear to be eligble to use 1042-Pooled
          • QSL would need a 1042-S
          • QSL will be target for audit
          • Documentation standard for QSL will be based on QI Agreement – W-8IMY can be used during Transition period
          • 2010-46 does not address substitute INT payments. “Not sure how this will evolve”. Most likely will be tied to ID of U.S. accounts – PIE is still dependant on Documentation and Withholding requirements
      • Audience Question – “Repo versus Securities Loan”….. Impact of 2010-46?
      • Answer – “Mechanically the same” (!!)

      Thomas Chillemi (IRS, QI Team Manager), Thomas McGrath (IRS, Associate Technical Advisor), John Topping (IRS, U.S. Withholding Agent Program Technical Advisor), Linh M. Vu (IRS, U.S. Withholding Agent Team Manager)

      • QI – IRS team is using 5471 or 5472 to match to 1042/1042-S reports
      • 90% of samples tested are not compliant
      • Training agents to focus on Documentation, Presumption Rules, and “Reason to Know” rules
      • VCP – Rev. Proc. 2004-59 – Full scope 1042 Audits are being added as follow-up
      • Late/Amended Returns
      • Will not be accepted by USWA if entity is under audit
      • Contact USWA team prior to filing returns
      • Be prepared to work with the IRS
      • IDD issued on Jun 14, 2010
      • Planning more Accounts Payable audits
      • As of 2008 – All audit reports should be adopting the standard format
      • Future state – Less paper…
      • >7,000 global QI-EIN’s
      • Continued expansion of “Approved QI Jurisdictions” with Slovakia and Croatia days away from approval
      • September 30th deadline to request copies of lost QI Agreements. After this date a fee will be charged for retrieval of copies, “or the QI will be issued a default letter”
      • QI Team is still witnessing lack of documentation, as well as problems validating information, and they intend to be more aggressive in “terminating QI Agreements if QI’s can’t get it right”
      • 2008 Audit issues have raised IRS concerns regarding Statement 18 not aligning with IRS master file (1042’s issued without QI-EIN, or QI-EIN being used for non FDAP IRS reporting, 1042’s reviewed by auditors, but not actually filed with the IRS)
      • Mandatory footnote required when 1042 not issued by upstream withholding agent and should include name of agent, and the number of missing forms (Note: this resulted in a strong response from U.S. payors in the conference who agrued that they are issuing the 1042’s; just that QI’s are not picking these up from their mail-streams)
      • IRS noted that one QI had $7bln worth of U.S. source income and no receipt of 1042 – IRS regards this as “Intentional Disregard”
      • 6721 & 6722 give IRS the authority to assess 10% of gross income paid as a penalty for 1042 reporting errors
      • Footnotes need to be succinct and to the point.

      Ashton Ellis (IRS, Technical Advisor)

      • Regarding E-BEN’s (electronic W-8BEN’s) – Not just talking about uploads of forms and PDF’s etc., but interested in promoting;
      • Beneficial owners being taken through a questionnaire style process (“interview\conversation format”), and asked questions based on previous responses to probe beneficiary tax status
      • Must be careful to not “lead” responses
      • Don’t want “pre-populated” forms
      • Electronic signatures on E-BENs, integrated with existing beneficiary PIN\PASSWORD mechanisms (including linking more than one PIN\PASSORD for E-BENs used for joint accounts)
      • Withholding agent (QI) integrate into\with existing systems to validate beneficiary responses (“Test versus Master File”)
      • Encourages Memorandum of Understanding (MOU’s) and the collaborative process between withholding agents (QIs) and the IRS
      • IRS will only enter into MOUs directly with a withholding agent (i.e. no MOU’s with third party software developers)
      • MOU’s have a 6 year duration, and need to be renewed
      • Those who wish to pursue E-BEN, Pre-submission conference call with IRS can be arranged by contacting Ashton Ellis @ 212 298-2283
      • Be prepared to describe business (types of accounts, income, assets, what is being excluded)
      • Real-time validation when integrated into existing beneficial owner data bases; including ability to isolate issues (“targeted cures”) for client follow-up, as well as facilitating straight-through processing of client documentation by creating E-BEN’s that “Don’t need to be looked at” (i.e. systemically validated)
      • Improves customer service
      • Automation of cross referencing to affiliated accounts (FATCA friendly!?)
      • Easier to support different languages