{"id":28533901,"url":"https://github.com/epam/ember-risk-sample","last_synced_at":"2025-08-24T16:11:04.520Z","repository":{"id":149592657,"uuid":"585358354","full_name":"epam/ember-risk-sample","owner":"epam","description":"how to implement custom risk rule in Ember","archived":false,"fork":false,"pushed_at":"2024-09-24T14:30:16.000Z","size":148,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-07-07T21:32:26.235Z","etag":null,"topics":["deltix","ember-sample"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/epam.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-05T00:58:42.000Z","updated_at":"2024-09-24T14:30:20.000Z","dependencies_parsed_at":null,"dependency_job_id":"69f92154-e908-4fcf-9722-60b934c28dc1","html_url":"https://github.com/epam/ember-risk-sample","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/epam/ember-risk-sample","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/epam%2Fember-risk-sample","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/epam%2Fember-risk-sample/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/epam%2Fember-risk-sample/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/epam%2Fember-risk-sample/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/epam","download_url":"https://codeload.github.com/epam/ember-risk-sample/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/epam%2Fember-risk-sample/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271901151,"owners_count":24841115,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-24T02:00:11.135Z","response_time":111,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deltix","ember-sample"],"created_at":"2025-06-09T17:09:10.954Z","updated_at":"2025-08-24T16:11:04.479Z","avatar_url":"https://github.com/epam.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Sample Risk Rule\n\nThis project illustrates how to build, test, debug, and deploy custom Risk Rule for Deltix Execution Server (Ember).\nThis archive contains IntelliJ/IDEA project and Gradle build files for MaxQuantity sample risk rule.\n\n### Build\nThis project references Ember Java API libraries located in Deltix private maven repository.\n\n\u003e Please make sure that you define environment variables `NEXUS_USER` and `NEXUS_PASS` to Deltix repository credentials provided to you.\n\nNow you can build this sample using Gradle or IntelliJ/IDEA.\n\n### Test\nThis project includes small harness to test your custom risk rules. \n\n* Test_SampleQuantityRiskRule gives you an ability to mock various input scenarios (order cancellaions, replacements, fills, etc.) and verify risk rule behavior.\n\n### Debug\n\nOne simple way to debug your risk rule is running entire Execution Server under debugger. \nTake a look at `Ember Server` Run configuration. It uses `deltix.ember.app.EmberApp` as a main class and `ember.home` \nsystem property that point to ember configuration home. Sample ember.conf is included in /home folder.\nYou can just setup breakpoints in your risk rule and launch debugger.\n\nSee ES Quick Start document for more information.\n\n```hocon\nrisk {\n  riskLimits: {\n    MaxQuantity: deltix.ember.service.oms.risk.sample.SampleQuantityRiskRuleFactory\n  }\n  riskTables: {\n    Symbol: [MaxQuantity] \n  }\n}\n````\n\n### Deploy\n\nEntire Gradle project uses java-library plugin.\n\n```sh\n./gradlew build \n```\n\nThe build produces `build/libs/risk-sample-*.jar`. To deploy your risk rule to actual server copy this JAR file under `lib/custom/` directory of your Ember installation.\nThe last step is to define your risk rule in server's `ember.conf` (just like we did in Debug section).  \n\nYou can also run OrderSubmitSample to see how you can send trading requests to your risk rule.\n\n\nSee Risk Rule Developer's Guide for more information.  ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fepam%2Fember-risk-sample","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fepam%2Fember-risk-sample","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fepam%2Fember-risk-sample/lists"}