Sunday, May 30, 2010

F# Asyn


F# is sensitive to indentation and linage (e.g. the calling "Donwload" [next line] ()
// Learn more about F# at http://fsharp.net
namespace JQD

type Downloader() =
let folder="test"

let Download()=
async {
let f=System.IO.File.ReadLines("")
let g="456"
return f
}

member this.DA()=
async {
while(true) do
let n=Download
()
}
|>Async.StartImmediate

Monday, February 8, 2010

Key elements to set up 15022 in CRD


(1) Batch DoExport ISITC Parameters Sender/Receiver
(2) Delivery type, order entry

(3)
C:\..\bin\DoExport -i C:\..\conf\cm_batch_2.ini -e 25 -o --role IP --party BBH --method FILE --out 15022.BBI. --isitc MyINC,BBHCUS3IMyInc,JQD,N,O,INVBUS33

(4) Parties: (Code, BIC, Type)
BBH xxxxx Custodian

(5) Set Receive/Delivery Free Indicator
Settlement Allocation Blotter ( not needed for Batch DoExport)

(7) ASSI (SSB FUT,102)
ACCOUNT Group=BBH 15022
Security Type=FUT
Interested Party=SSB NOTAG22 (special inst)

(8) Export Dir =\\MyInc\Test\Working\IntraDay override by DoExport.

Steps:
-- No need to set up SysParam
-- Set up Party BBH BIC Code, Custodian
-- Account Group: Custodian code=BBH
-- Export Routing Rule ISITC and 15022 Save to File, ISITC param but be override by DoExport
--- Settlement Default Delivery Type=DTC
--- Broker SSI BIC Codes, Determinant InvClass=FUT
--- Account SSI Determinant=AcctG, Inst=Interest Pary=BBH.
--- Post Trade Routing Rule.

Test Trade with Broker with BSSI and Account with ASSI, send ACCT and post_tradea and run DoExport

Related SQL:


-- (0) No need to change System Param, ISITC_INT_PARTY is obsolete in 8222

-- (1) Setup Party: BBH BIC code =INVBUS33 manual update

select BIC_CODE,* from dbo.CSM_ISSUER

--(2) Set up Account Group and attached Accounts

insert cs_fund
(
ACCT_CD,
ACCT_NAME,
ACCT_SHT_NAME,
ACCT_TYP_CD ,
CRRNCY_CD,
ALLOW_BUY ,
ALLOW_SELL ,
ALLOW_NEG_CASH,
MANAGER,
CRD_LOCK ,
ERISA_ELIGIBLE,
GAIN_LOSS_SENSITIVE,
CUSTODIAN_CD,
INACTIVE,
AUTH_NUM,
COMP_BID_REQ,
MAG_IND ,
CFWD_CLOSE_CPARTY_IND ,
CFWD_NEW_CPARTY_IND ,
AUTO_CFWD_IND ,
USE_SETTLE_DATE_BAL_IND,
DM_IND,
DEF_MDL_REM_IND,
MDL_QTY_BASED_IND ,
MULT_MDL_IND ,
MULT_MDL_NORM_IND,
BLOCK_ORDER_IND ,
TEN_MIN_CHECK_IND
)

values
(
'BBH15022',
'BBH 15022 Group',
'BBH15022G',
'G',
'USD',
'Y',
'Y',
'Y',
'TM_DEV',
'N',
'N',
'N',
'BBH',
'N',
0,
'N',
'N',
'N',
'N',
'N',
'N',
'N',
'P',
'N',
'N',
'N',
'Y',
'P'
)

insert CS_FUND_CONFIG values ('BBH15022','EOLC5','G',100.000)


-- (3) Export Routing Rule:


insert TS_ROUTING_DEF (
ROUTING_DEF_ID,
PARTY_ID,
PARTY_TYPE,
PARTY_ROLE,
PACKAGE_TYPE,
METHOD_CD,
FORMAT,
COMMENTS,
EXECUTION_INFO,
IS_DEFAULT,
CRD_LOCK,
DEF_EXP_PARMS,
SENDER_ID,
SENDER_TID,
SENDER_CONTACT,
ACCT_CD ,
INTERFACE_SYST,
EOD_FLAG,
F_IND,
ROUTING_SERVER,
ROUTING_DEF_NAME,
ROUTING_STATUS_LIST ,
RECEIVER_BIC_CD)

values
(1700047561,
'BBH',
'CSM_ISSUER',
'CUST',
'EXPORT',
'FILE',
25,
'Test by JQD',
'15022.BBH.JQD.',
'Y',
'N',
'ISITC:MYIKK,BBHCUS3IGMO,JQD,N,1,INVBUS33,st:ACCT,st:CNCLACCT',
'MYIAA',
'BBHCUS3IGMO',
'JQD',
NULL,
NULL,
'N',
'N',
NULL,
'BBH 15022',
'ACCT,CNCLACCT',
'INVBUS33'
)


--(4) Set Up Settlement Default --Manual process
Exch Cnty=USA Inv Class=FUT
Delivery= DTC

-- (5) Broker SSI
insert cs_settle_inst values
(1700046932,NULL,NULL,NULL,NULL,NULL,NULL,'Name',
'Address',NULL,'BARCKK5GXXX',NULL,NULL,'MYI',NULL,'MYI',
'MYI',NULL,NULL,NULL,'SSI',
NULL,'BCYD DEBT','BARCKK5GXXX',1700046932
,NULL,NULL,NULL,NULL, NULL,NULL, NULL, NULL,'MYI',
'MYI', NULL,NULL,NULL,NULL,NULL)

INSERT ts_dterm values(1700046932,'BSI','BCYD',3.000, NULL,'Y','N',NULL)

-- (6) Account SSI
insert TS_DETERM values
(1700046916,'ASI','BBH 15022',1.000,NULL,'Y','N',NULL)

insert TS_DETERM_VALUE values
(1700046916,100063,'BBH15022','EQ',NULL)

insert TS_FUND_SETTINST values
(1700046918,'IP','BBH','AcctNum',NULL
, NULL , NULL, NULL,'ABANum','INVBUS33')


--(7) Set up Post-Trade Rounting -- Manual
SI Enrichment = Broker and Account Instruction Attached


Saturday, December 12, 2009

How to set maxItemsInObjectGraph for Silverlight Domain Services

<services>
<service name="BusinessApplication5.Web.Services.DomainService1"
behaviorConfiguration="BusinessApplication5-Web-Services-DomainService1">
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="BusinessApplication5-Web-Services-DomainService1">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
<dataContractSerializer maxItemsInObjectGraph="655360000"/>
</behavior>
</serviceBehaviors>
</behaviors>

Friday, December 11, 2009

How to set up WCF Tracing

<system.diagnostics>
<trace autoflush="true" />
<sources>
<source name="System.ServiceModel"
switchValue="Information, ActivityTracing"
propagateActivity="true">
<listeners>
<add name="sdt"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData= "SdrConfigExample2.e2e" />
</listeners>
</source>
</sources>
</system.diagnostics>

View is here C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\SvcTraceViewer.exe

Saturday, November 14, 2009

Fx 4.0 Parallel Extension

There are three primitives for Parallelism in Fx 4.0: Task, Paralle.For and PLINQ.

Task t1= new Task(delegate)
t1.Start()
t1.Wait()

Parallel.For(0,100, i=> { }); // lampta expression

IEnumerable nums = Enumerable.Range(0,10000);
IEnumeralbe results= from n in nums.AsParallel()
where testcondition(n)
select n

Sunday, September 27, 2009

T-Mobile Dash Stock Streamming Quote Download..Finance.yahoo.com Web Services


The following code are wrapped in a timer tick event:

string url = "http://download.finance.yahoo.com/d/quotes.csv?s=" + this.tbSymbols.Text + "&f=" + this.tbFeatures.Text;
WebRequest req = HttpWebRequest.Create(url);
using (Stream s = req.GetResponse().GetResponseStream())
{
using (StreamReader sr = new StreamReader(s))
{
this.tbData.Text = sr.ReadToEnd().Replace(",", " ").Replace("N/A","?").Replace("- -","-");
sr.Close();
}
s.Close();
}

For T-Mobile Dash ETF Monitor App The feature field take the following:

aAska2Average Daily Volumea5Ask Size
bBidb2Ask (Real-time)b3Bid (Real-time)
b4Book Valueb6Bid SizecChange & Percent Change
c1Changec3Commissionc6 Change (Real-time)
c8 After Hours Change (Real-time) d Dividend/Share d1 Last Trade Date
d2 Trade Date e Earnings/Share e1 Error Indication (returned for symbol changed / invalid)
e7 EPS Estimate Current Year e8 EPS Estimate Next Year e9 EPS Estimate Next Quarter
f6 Float Shares g Day’s Low h Day’s High
j 52-week Low k 52-week High g1 Holdings Gain Percent
g3 Annualized Gain g4 Holdings Gain g5 Holdings Gain Percent (Real-time)
g6 Holdings Gain (Real-time) i More Info i5 Order Book (Real-time)
j1 Market Capitalization j3 Market Cap (Real-time) j4 EBITDA
j5 Change From 52-week Low j6 Percent Change From 52-week Low k1 Last Trade (Real-time) With Time
k2 Change Percent (Real-time) k3 Last Trade Size k4 Change From 52-week High
k5 Percebt Change From 52-week High l Last Trade (With Time) l1 Last Trade (Price Only)
l2 High Limit l3 Low Limit m Day’s Range
m2 Day’s Range (Real-time) m3 50-day Moving Average m4 200-day Moving Average
m5 Change From 200-day Moving Average m6 Percent Change From 200-day Moving Average m7 Change From 50-day Moving Average
m8 Percent Change From 50-day Moving Average n Name n4 Notes
o Open p Previous Close p1 Price Paid
p2 Change in Percent p5 Price/Sales p6 Price/Book
q Ex-Dividend Date r P/E Ratio r1 Dividend Pay Date
r2 P/E Ratio (Real-time) r5 PEG Ratio r6 Price/EPS Estimate Current Year
r7 Price/EPS Estimate Next Year s Symbol s1 Shares Owned
s7 Short Ratio t1 Last Trade Time t6 Trade Links
t7 Ticker Trend t8 1 yr Target Price v Volume/td>
v1 Holdings Value v7 Holdings Value (Real-time)/td> w 52-week Range
w1 Day’s Value Change w4 Day’s Value Change (Real-time) x Stock Exchange
y Dividend Yield

Develop WM Smathphone/Pocket PC App for T-Mobile Dash

Setup Device:

  • Download regEditSTG to edit policy on Dash, HKLM\Security\Policies\Policies\ 00001001 =1 00001005 =40 (from 16)
  • Download SDA_ApplicationUnlock and run
  • run C:\Program Files\Windows Mobile 5.0 SDK R2\Tools\SdkCerts.cab, RapiConfig

VS 2008 Target Platform Pocket PC and Smartphone both works fine, Deploy Solution. Also Tool->device Security Manager would do similar things above but do double check registry manually.