Home Services News Jobs Events Blogs About Us Search LOGIN| YOU ARE HERE: Blogs AUTHORS View All Recent Entries Philippe Bonneau (0) Sam Lessani (0) Van-Thinh Vu (0) Jerome Lecomte (0) ITQUANTS BLOG Fusion Capital Sophis/Fusion Sophis: how to get more information on access violation? By Philippe Bonneau on 10/11/2016 10:24 PM I guess that everybody who uses Fusion Capital Sophis or Fusion Sophis already got the classic "Internal error on MFC message" dialog box that announciates that a crash, access violation or whatever, occured. In most cases, unfortunately, classic logs are not sufficient to investigate why the problem occurs. The goal of this post is to propose a method that permits to dump the callstack when such an event occurs. Read More » Philippe Bonneau Fusion Capital Sophis v7: how to compute user data on calculation servers? By Philippe Bonneau on 6/3/2016 2:13 PM Before the v7, in order to serialize specific indicators calculated by the internal quant libraries, virtual methods like CSRInstrument::GetCalculationData and CSRInstrument::SetCalculationData were used. These methods are not deprecated and a specific implementation of the class CSRComputationResults should be used. The goal of this post is to explain how to declare such a class and to give a complete sample ready to use. Read More » Philippe Bonneau Fusion Invest/Capital Sophis v7: how to update third parties, using XML? By Philippe Bonneau on 4/29/2016 11:35 AM In my previous post, I've described how to update third parties using the API, as it was done by several Misys clients. This time, continuing on this subject, I will explain how to update third parties, using XML files. I remembered that I've implemented this solution at least one time by a client, in a web service. Third parties were updated using the Sophis xml definition, that you can find in the party.xsd file stored in the schema folder. The web service implementation is already described more in details in this post : "How to develop a IIS webservice using the API". Unfortunately, the C++ code is not anymore maintained in the v7: C++ header files that were present in the Low Level Toolkit folders are not delivered anymore. A workaround exists, this is the subject of this post of how to replace this code. Read More » Philippe Bonneau Fusion Invest/Capital Sophis v7: how to update third parties? By Philippe Bonneau on 4/28/2016 6:11 PM For clients on which the Sophis Risque or Sophis Value was already installed, during the migration, it is quite easy to detect which modifications have to be done when comparing the code. But this step is only one of the different tasks that have to be done. For example, almost nothing was changed on the interface CSRThirdParty (eq CSMThirdParty in C#) concerning the third parties (entities, depositaries, counterparties, brokers...). But unlucky, when trying to use some piece of code that permits to update the external reference, the domiciliation, the broker or whatever which field, you will got an exception in v7, indicating that the method is not implemented. This is a well known problem on each client migration. Read More » Philippe Bonneau Fusion Capital Sophis v7: how to filter calculations of native instruments on F9? By Philippe Bonneau on 3/8/2016 6:20 PM Testing recently the calculations of some instruments (Convertible bonds) on the calculation servers, I've discovered that very old instruments which are not anymore in position were sent to calculation servers. By the way, these instruments are not valid too, and trying to calculate them today will generate some check error messages. These instruments were stored in position in some folios several years ago (trade date far away from the well-known REPORTING.DATE_DEB date), but are still loaded in memory and sent to calculation servers. The problem does not appear when calculating the folio locally, only when calculated by calculation servers, and the whole calculation of the folio is then rejected. The goal of this post is to propose a workaround that permits to calculate the folios which contain such instruments. Read More » Philippe Bonneau Fusion Capital Sophis v7: how to listen to coherency events in a batch/server mode? By Philippe Bonneau on 2/2/2016 1:49 PM Some days ago, I talked about the possibility to use the Sophis.Core.Data, Sophis.Event.Core and Sophis.Event.Risque assemblies, in order to listen to specific events for toolkit columns performance optimizations. I've tried to use the same mechanism in a batch, using the following code : class Program { static void ProcessEvent(Sophis.Event.IEvent myEvent, ref bool bProcess) { } static void Main(string[] args) { CSMApi _api = new CSMApi(); try { _api.Initialise(); } catch (Exception e) { return; } Sophis.Event.SophisEventHandler _handler = new Sophis.Event.SophisEventHandler(ProcessEvent); Sophis.Event.SophisEventManager.Instance.AddHandler(_handler, Sophis.Event.Thread.MainProcess, Sophis.Event.Layer.Model); bool _stop = false; while (!_stop) { Sophis.Event.SophisEventManager.Instance.Dispatch(); System.Threading.Thread.Sleep(500); } Unfortunately, this code does not work as is. Putting a break point in the ProcessEvents method shows that it is never called, even if messages are received and processed. The goal of this post is to explain how it works and what it is missing. Read More » Philippe Bonneau Fusion Invest v7: How to add a caption bar like the simulation bar? By Philippe Bonneau on 1/25/2016 4:26 PM One client asked me to add some very visible message in Fusion Invest that permits to warn when the pricing date is not the current date. A good sample of such a message is the native toolbar that is displayed by the application when the simulation mode is selected. The expected result should be the following one: By the way, the core code of Fusion Invest is still written in MFC/C++. Adding such a toolbar is possible by written some C++ code that uses the MFC classes. The goal of this post is to give the code that permits to activate such a functionality. Read More » Philippe Bonneau Fusion Invest v7: how to display the MFC resource IDD? By Philippe Bonneau on 12/30/2015 6:37 PM When overloading Sophis dialogs with the toolkit, you need the Win32 resource IDD of the dialog in order to get the resource template somewhere in the Sophis dll's (in most cases in the SophisRiskEn.dll), and customize it by adding new controls. In previous versions of Sophis, there was an option that permitted to display this IDD, by right double-clicking on the Sophis logo in the About box, and, after, by right clicking in the dialog. Right-clicking it in the v7 About box does not enable it anymore, even if this option is still usefull. Looking at the code of the dialog, I've found finally the way to display it. The goal of this post is to share it. Read More » Philippe Bonneau Fusion Invest v7: How to optimize the refresh of the memory cache when portfolio columns are toolkitted By Philippe Bonneau on 12/11/2015 11:34 AM In most cases, when portfolio columns are toolkitted, they use an internal memory cache to avoid SQL queries on the database when the portfolio lines are displayed (on scrolling or what ever). In order to refresh this memory cache, the Sophis API provides a method, CSRPortfolioColumn::GetRefreshVersion, which is incremented on some actions, for instance when a deal is inserted. Most toolkit implémentations use only this flag to refresh the cache. Unfortunately, testing only the version flag could generate some freeze, when a lot of a deals are inserted and SEC events are received. The goal of this post is to propose a solution in v7 to optmize the refresh of the cache. Read More » Philippe Bonneau Oracle: how to configure Enterprise Manager with last version of Internet browsers.... By Philippe Bonneau on 7/23/2015 1:22 PM I've got recently a problem when I've updated and tried to install Oracle on a new desktop PC. Windows 8.1 is the OS running currently on it. Trying to connect to Enterprise Manager using the usual https://localhost:1158/em/ url connection string has failed and the following error was displayed: "The server certificate included a public key that was too weak. (Error code: ssl_error_weak_server_cert_key)". According to a post on stackoverflow, this seems to be due to an update of security on different internet browsers. By the way, the problem occurs on Firefox and Internet Explorer. The goal of this post is to explain how I've resolved it, since the indications done in other links are not sufficient. Read More » Philippe Bonneau SEARCH BLOG All Blogs Philippe Bonneau Sam Lessani Van-Thinh Vu Jerome Lecomte KeywordsPhrase CATEGORIES C# (13) C++ (26) Oracle (8) OS (3) Sophis (43) ARCHIVE Archive < September 2017 > Sun Mon Tue Wed Thu Fri Sat 27 28 29 30 31 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 2 3 4 5 6 7 Monthly October, 2016 (1) June, 2016 (1) April, 2016 (2) March, 2016 (1) February, 2016 (1) January, 2016 (1) December, 2015 (2) July, 2015 (1) March, 2015 (2) February, 2015 (2) December, 2014 (1) November, 2014 (2) October, 2014 (2) September, 2014 (4) July, 2014 (4) May, 2014 (4) April, 2014 (1) March, 2014 (3) February, 2014 (2) January, 2014 (1) December, 2013 (1) November, 2013 (3) October, 2013 (1) September, 2013 (2) July, 2013 (2) June, 2013 (1) May, 2013 (2) March, 2013 (2) February, 2013 (1) January, 2013 (5) November, 2012 (3) October, 2012 (1) September, 2012 (4) July, 2012 (1) April, 2012 (1) March, 2012 (4) February, 2012 (2) Go TAGS 1561 2011 allocation analytic anonymous function ANSI audit autonomous_transaction broker C# C++ calculation server chart clear coherency commit compatibility compilation counterparty CSMEvent CSMExtraction CSMInstrument CSMPortfolio CSMPortfolioColumn CSRinstrument CSRInstrumentHistory CSRSqlQuery CSRUserRight CSWindFolio deals delegate depositary DestroyWindow Domino email entity EnumChildWindows events fields financial markets freeze Fusion GAC GetHashCode GetProcessMemoryInfo GlobalMemoryStatus HashTable IDD inflation Inspector Instrument Intel intel composer Invest ITQuant itquants.com java lambda lead leak limit link Lotus Low Level Toolkit malloc managed memory menu MFC minidump Misys MultipleWrite native NCPAINT OpenDialog operator ORA-04091 ORA-22920 Oracle override partition partition lag patch performance pragma procdump process rate Risque SEC security SetInformationJobObject Show Sophis Sophis API SophisDotNetToolkit statistics STL stress String strong name SYS_EXTRACT_UTC sysinternal sysload SysWOW64 tag ThirdParties TITRES toolkit trigger TZ_OFFSET unmanaged uxtheme Value vector VirtualAlloc Visual Studio VS2005 VS2010 website win32 win64 WPF x64 x86 XE 2011 xmltable xmltype XPATH yield curve Copyright 2012-2016 by ITQuants Terms Of Use Privacy Statement