|
|
maodeng 发表于 2013-1-28 13:13 8 [6 Y4 w1 P, e+ f- ?6 s+ n
. hello 300236
( g9 z( {9 D: f- W0 n& t4 N' K) [statement out of context* a+ i |3 f& _) @; K# {- w. r* {
r(119); 5 x' e( q1 T2 [. F3 Z/ ^
抱歉,最近太忙了, y1 T4 V: a, y! G' p& b# d* J! F
! m5 W6 R1 I! l. r7 F1 d
300236 我用下面的程序试过,没问题3 H+ B. {& j' V0 E% Q
5 g5 D/ [% F( I8 }- I5 t. U你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试4 n! t7 T: }- y* H( X+ x4 E- G- i- k( A% @
! N6 w6 i$ ]8 zcapture program drop hello& u. N) ]+ l6 a; {
# F+ Z8 e; I" M) M7 f$ f: ^program hello. n1 j% D/ \+ L5 u4 J
8 o2 I D( R4 e$ O
quietly {& o6 q( R Z9 b
b1 x1 U( _1 {+ W- @: b
clear* ?- D- V" L0 s% A
3 ]9 X4 ]3 ~2 R3 q" t+ M+ _9 a
cd D:\stock\test\source: z& @' R1 `3 ?' u
. Y. J. r& z3 H: X5 Hinsheet using `1'.txt* z/ {+ a0 [2 h7 _- @
2 ~' }# h& Y8 L! l keep if v5>0% `+ y$ ^" b, c4 ]5 @+ @
: l# Q r1 p0 q
gen vt=_n
5 w9 y/ J! H2 K$ u9 g) Y. J
. O5 b5 d" } a, ^! c$ r' X tsset vt2 i5 W" V* r* I/ z: g& {
; w- ~$ ]# l' T$ y$ e; G H, t' G
gen zf=D1.v5
: @5 Z; f( j; G+ \% A8 b# O. P8 V4 ~" Q8 _: t2 p/ I
gsort -v1: O+ Z: }/ { [7 Y# |
$ L5 s- k8 B5 i o9 ^
gen avol=v7/v5* q j( {' O# w/ }
3 k" E ?$ @' v$ i6 D3 F6 a keep if avol>0% B' d; { J$ ]6 Y
7 E: v9 O' ?5 m+ t$ Q% l0 {( O drop vt
0 n# m% O6 _- M3 b+ A3 J& [$ C 6 \8 l1 U3 u" n8 |" L+ W
gen vt=_n
+ T/ L; f/ n# t& H/ P) A " z2 [2 @4 R" {
tsset vt) s8 N7 |8 z2 y a! P; W% T
6 x; V+ L! K2 ~
sum v5 [aw =avol]4 O' s) h) _( `# B3 `- m8 Z
, ~( z! A; G! `2 q% z2 N gen amean=r(mean) in 1
2 V1 G1 }4 `5 o% |+ g; M6 V! J$ u
" t/ p* j2 d$ k% Y1 t * 总加权平均值 amean7 L* Z* [& k7 n7 i
; [2 o4 X) V/ Z2 }8 A% D7 i
2 s1 T1 k& A1 t& j, |" X0 ~9 W keep in 1/240
6 c4 S6 _* O4 G& `$ j5 b' n8 y
. u/ V/ z0 f% O; }' v sum v5 [aw =avol]' g. N, P$ C8 l1 H
4 Y# E N( C' f2 }1 t
gen mean240=r(mean) in 1
2 L4 Q z: m- M1 H+ M* B 2 K9 H- L4 T7 F/ Z9 N# b$ U j2 n0 U
*240加权平均值 mean240
, g3 b. u3 u* k2 D4 n3 [
5 X/ B/ ?: |# o7 A set obs 500
9 P/ U, A4 z& F# k ' `5 Z& @+ N% Y' [- x: J
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
$ {# n% S% O R% q
& q5 g: t) D J; u *240 kdensity(dx240 dy240)/ z- t2 G* [! Y" |
' A, M- A8 [& d. Y
sum dy240
2 Q* X6 \5 n8 R1 T& ]. `
: W* F. U @# p. B- I9 U0 l gen yxis=r(max) in 1
' k- R3 o4 r6 m+ m2 ] 9 Y) {+ X* v$ ? ^
gen yxis2=yxis/2
; i I; i y: [- V/ W
* s! @, b1 G. x) ^ *yxis
. ?, q3 X6 l1 b! h : Y1 F& E D4 U
gen dy240max=r(max)
y" ~3 _% q6 v6 \$ V* U# i, g/ A- I
4 v, l8 s0 A8 {8 K3 x* x gen dy240minp=r(min)* M3 l, Y- [0 X
4 o, ^' }9 o3 w# ?1 O8 {$ ~* x
gen vtt=_n
. W5 f- n& V+ l5 w
2 I. n |1 n% `* N tsset vtt% Z9 l$ `4 T- P3 H a- W
+ _# _- R6 o$ ], w gen ddy240=D1.dy240/D1.dx240( }% |5 e) U- t7 u: z% ^
1 w1 n1 [: z8 F6 l
sum ddy240/ Z& l8 [1 Y9 N' c. b1 p2 Z
) ]# W! k x2 G) R
gen ddy240max=r(max)6 Z, w1 b" Y9 d2 G1 A( d
) k+ I: s( G- y1 c4 ^8 X8 T' M gen ddy240min=r(min)
! r1 b9 S9 j7 R 2 E" |' M' s9 V( \0 t
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
) i$ e. E: c3 A9 D! u$ ]; b$ {( O ; j2 B; {9 S8 g9 g
sum ddy240g% V) U2 x: Y; t
% z* r/ S' T+ @1 { _ gen yxis3=r(min) in 12 E$ K, {8 q% W6 q5 Y; U
& X D) L+ {1 p/ ^5 p" s gen yxis4=0 in 1
' E& E- x; X9 U
! G P- \* U% z *ddy240g " u: \- |1 z" I, M. b7 a6 [( b; e
. v# N/ V9 l) j a: S( ]% V0 Q
r: m6 p p% ?6 x% D3 X' P
preserve
6 H" P' ?/ K/ d 7 A. Z9 G, }' l+ I
sum v5 [aw =avol]0 A3 ]0 e& Q* I4 |! m$ u+ C$ w+ v4 k
6 \; @& k! c. T9 r5 I keep if dx240<r(mean). f3 N U! ~- Y% V
/ X9 Y8 A; O9 g6 x8 B% @
sum ddy240
5 T3 u+ z* f8 G g: ?( L & U$ i, l# H) G3 c* e' r
if r(min)<0 { v4 R+ V# G" l/ L: S
2 ]* _) f7 {2 Z1 Q, O7 a, ~7 p
keep if ddy240<=0
`3 g% O7 ?& s2 O2 C2 ]( U
" x8 Z; y/ |' @/ \, { count
; C: Z! {8 k2 `- ?7 o
6 Z) P% H* \5 |: N# S. A* [2 } if r(N)>2 {. G' z' g3 }; \$ w. L, `
7 i7 J1 H% {- T9 W4 I pkexamine dx240 dy240" s" Z" P. _; C8 ~; P. W8 }( l
- R c1 v8 Y4 N8 A
local tempminp=r(tomc)& s2 |# Z" d) b. X, s) T5 ?/ Q
restore
( b5 H {* I5 X$ L1 y }% e; G( m5 S! n6 X7 q% H: z6 ?2 b
8 g6 t) \: p) z' E2 |- Z% ^: Z else {
3 f; J, a; V" o/ f8 W 9 E0 c8 |' R% R# b1 {
di "cannot find minp"
- o" U& M5 \: }8 y' f$ g; M1 \9 U
/ ?( |9 ?+ t+ G& R0 j c4 r! L restore & e9 _+ f2 ]0 @. y* V
sum dx240+ s+ b3 }6 ~! C+ U: c' y% e
local tempminp=r(mean)4 [( L. t- D5 _0 Z
) l* D# [# J4 _, G
}
* F T3 j) u% t2 g0 [9 |- K0 s }: k; a7 Y) m+ P( W# `- D
else {
2 z3 t* \% n4 H/ |7 F
- X% |+ j5 d1 m* |1 k" \5 z keep if ddy240<=r(min)
9 Z1 i3 [9 B Y/ g5 ~. q: O' j; g 7 X+ w: t, D% w3 M+ q J0 p
sum dx2400 Z1 w3 v6 U+ T1 u2 U0 W
5 m5 s9 `6 [2 h
local tempminp=r(min)# i( r) W, g6 O1 n7 I6 C( y0 q
restore
) O. o% w6 N1 G* k- q& F% | }/ p9 Z$ K7 p! Z: ^
# T; `" v; @6 {% J& d3 Y5 S
- }3 l- e. I' g( |& S" `
4 U5 p# L+ y) C0 M+ C gen minp=`tempminp' in 1( A" _/ G& k: W3 z
*240 minp
+ v5 \5 T X8 m' G$ d! L% s% X6 Z8 l
T, _& }- U: P( l# ?2 {
9 q" C# o! f" t8 f& ?/ Q/ A O+ [ preserve
1 A; W3 ^ Q% c% _1 A6 Q; E
) ^: H" f0 a2 w- v4 c sum v5 [aw =avol]
& Y# ~( n1 W* `" ~' i
' H- |( C/ t2 N9 b2 _ keep if dx240>r(mean)' m E* y( I+ Y
$ {" y" j9 j7 {* g' Q0 t3 q sum ddy240
# l, o' l/ S* }1 B' n
( _ `! h+ \4 @: A1 g4 [2 H if r(max)>0 {
* a8 D" F. Z* M3 d; i3 R2 E0 q7 T& z' C9 `
* i; u3 n2 r. S9 z keep if ddy240>=0
0 Q A; {8 W$ S0 V- u5 d
8 {. h" ~9 l6 W) m0 |. W& h count
; q( ?" v* G! g- B
" @6 u$ @* L' ]. ^- j, | if r(N)>2 {* t5 e% g' J L0 n
+ S7 D3 K! d. ?/ k pkexamine dx240 dy240
8 @! t! H& B4 ^+ A 3 \; \! V2 Z8 C5 [( f8 K
local tempmaxp=r(tomc)
1 S/ R: H2 O1 ?8 b7 O! ?+ s/ C restore
- ]1 ~4 ]& ?, Z }
+ a, n9 y9 h5 t o2 ]7 c l6 o- ~ ( u& L; x8 F7 y& a* \
5 r6 q9 J+ L$ B$ \- ~+ ^" O else {/ ?% u! f3 G. @+ P
restore
8 b0 ?# q5 F& `' k, a di "cannot find maxp", z% O; c2 O; l3 H3 I
" |( }8 h: {* _9 _' g
+ A. a3 H; f- R9 O) `4 I" R sum dx240
2 b; F: Z* A+ a }4 U$ i$ G3 C) ~ local tempmaxp=r(mean)/ B8 y2 q! s, K
6 {6 w# o; o( d g( i }
7 C+ ]9 z4 m, g: E- i
/ F! U2 {, u$ K) t; \ }. c0 q; {& ^+ a) g7 p
/ r) W ]2 z1 ?; V. v1 q
else {# @/ W1 [9 E! W5 [
1 I3 ~4 G4 `# L, B6 G
keep if ddy240>=r(max)
$ a% G [' B0 A f4 Z. `5 ?7 } ) l8 c# B( k5 a8 m1 F
sum dx2409 i, p3 z& [/ H: b7 G# I4 L# H
" G$ E# e1 Z* m2 Z: t9 d% z local tempmaxp=r(max)
/ g& |0 Y; o5 F0 [- x restore & r- ~5 C$ Q1 q- _: v- i
}, f# j8 z$ L) `" V6 j5 \
9 X' |4 Y( F9 |6 h" d# ?) h9 R! U) C* Z0 Z
; R' N- d! W6 b; P7 r
`# U( w$ X" k4 [* {
gen maxp=`tempmaxp' in 1
; t% m, I: K) z * @+ v/ N3 h9 l" v$ z, n
*240maxp
" F: G* h" |7 V; \5 y) ^
7 z2 L' t) b8 m/ H
9 ~- c* N' C& K" n: ?2 F *-------------ddy240pminp左侧高峰值-----
, q3 f1 m; C- v
1 d" ^2 l& f; w; d preserve % k, x( w9 z5 e* q& W1 V
4 s) p5 ?. ~8 S6 f keep if dx240<`tempminp'1 A* ]. F/ I5 A& R1 l
4 C/ `- }- _6 v. g$ _8 r
keep if ddy240>0
' F" l, z$ N( @ g 9 a# j3 j" M9 {0 u
count0 T& |, `) p' f
& i5 m3 v! ?' Q if r(N)>2 {; w. X! c. J9 T F- A
5 K) o3 G" }. l) H
pkexamine dx240 ddy240, @& R. J/ |) ]& e& L' P+ P
7 Y/ \: {( F( Y; E) v5 t local tempminphddy240=r(tomc)
$ K+ k. _# F8 u) u- s- I- I restore5 ]0 A# z3 @5 Y% O* M) p0 |8 B8 I
}8 ~ ~5 O+ e# q6 \7 t
% n- d' `* u. q# i2 @/ E2 y
else {9 A4 U8 }& Q4 [
restore
/ M5 f; Q& P7 A di "cannot find pminphddy240"
6 g) x/ w+ u5 C+ q% C
7 z; A, e1 f0 Q5 N: T 2 r" Z) R) w }) }
sum dx240
! h. B" ~$ N M* l$ P local tempminphddy240=r(mean)
. B2 T1 i. a% F# r9 `1 r) k" }8 I
5 M% P+ i- Q; p9 g2 b$ Z6 P7 F
+ y$ f6 `& G; `( O' i! ]( ~ }6 |# F8 [1 h" j: F
! ~" b- e: i. D% q3 e6 l
0 f# l; G6 J* ?/ j9 |
9 ^* j% m# f. E# z8 O " k- `3 @* q! T5 t3 \- b
, U( K3 D' A% x) Q + A1 S8 c1 p1 V. `, w, _
gen pminphddy240=`tempminphddy240' in 1
+ [% K O ]- h+ ^; {' a
; M$ L/ o5 F% Z. G( y E8 f7 ~
2 `' Y. v4 Y- a *-------------ddy240pminp右侧低峰值 -----------------
& N1 {; C8 K7 `5 w& l preserve / J1 @ a0 C4 g1 V4 n* t
3 `3 X5 ? Z5 I: U5 X( R6 _ keep if dx240>`tempminp'
! `* N3 L+ J, |/ ^1 _ 1 ~- L1 y$ i2 ?+ Z% o& g
keep if dx240<`tempmaxp'
1 I. W: L4 @+ ?7 Y+ V% U % h5 @4 E3 b& @
keep if ddy240<0$ q* ~. L2 r% v. g- Z; o
) t. ~" Q) x. N4 G5 Y/ J gen temddy240=-ddy240( ^6 P5 k" q3 e4 h4 @
# R1 n2 I+ M( q h% x count
& R9 J; h8 }; }2 R5 N 8 q* ~1 e! r! D
if r(N)>2 {
0 M& e6 n% U4 W
7 l u! {; o$ ~$ F; H. h pkexamine dx240 temddy2407 a4 n. M" j' x* y, B8 j$ ~1 q
! q5 {- k. M% J
local tempminplddy240=r(tomc)
8 L5 M9 z* ~1 X; O1 @/ h, ` restore3 j! T3 p9 w. M6 d
}) x4 _: c/ d( W7 f
2 b9 v" j% V8 f0 [$ V' r1 } else {2 Y4 m2 {# Y% m' @6 o
# {# q1 ^! \$ d" v di "cannot find pminplddy240"
6 C1 k1 d' E( m5 @6 n restore$ N+ q0 L( S& T0 E
+ J' v7 ~& {. L7 V3 F3 A8 D& [
sum dx240
J3 {0 {9 `# W local tempminplddy240=r(mean)
/ y4 r* O6 m3 r. @ 3 @2 G& b' Y. _- g2 i# {; _
/ K2 Z! ^( F5 u9 J: m
}
- Z( q3 `3 m2 }* i1 y6 f3 Z: Q
' U( U; I/ k# Q3 G0 a/ k# ^
$ L: q$ C5 _+ `- y+ J
* r1 X# t$ G6 ~& a/ e6 D: G5 J / _: a- w" \8 K: X
4 c2 E: o+ E' M
gen pminplddy240=`tempminplddy240' in 1
) p" A7 I$ V4 W& u. d7 v$ I J3 D* e4 L5 J2 R3 ]+ ~, L! b
*-------------ddy240pmaxp左侧高峰值 -------------------( F3 A7 m* {* K1 U& d
* a2 _. a4 Z' \/ z5 E( U preserve & |: S$ x: V2 X$ g0 H
% Y7 c3 D! w6 l2 b2 b" @& w
keep if dx240>`tempminp'
% I$ e3 H& e* O$ C
' j/ S3 s" Q2 h5 X: N: F" D keep if dx240<`tempmaxp'
% B$ @4 G" ~' b: l T- r3 |" ^( W1 b. ? Z& D
keep if ddy240>0* ^% R% e$ ^* A
count
* [8 x1 l) E2 \5 ^- {6 `1 [$ t * o: P: W1 ~) g1 @: J
if r(N)>2 {' ?" m% _" K( I- r8 a: ^
5 D+ N. w3 K" D9 {5 l0 X" t/ C- y pkexamine dx240 ddy240 l/ M/ T& C* {- H& @
' W" K# ~, j `: C/ m9 V
local tempmaxphddy240=r(tomc)
8 i+ ^+ A- Q/ F6 Y
/ W3 [4 s, S- K4 ]! ?, F restore2 N, f( A; J# j& f. k
}
( w P R9 q( Z% D* f' w& c! I$ }
$ x [ T8 a, @) ?- A/ y7 H4 G( w: G else {
4 j, F3 _7 v& f: L
2 B7 a- {) @: y; ] di "cannot find pmaxphddy240"" m0 W% q) ]' X
restore
2 P' I! J# R' C1 e# m0 V! A
3 c1 x! A& X5 q* U" @7 a& i2 K9 x# I sum dx240
' v, J& b6 [& i- Q local tempmaxphddy240=r(mean) 6 A- q1 y' {, F$ g
$ l1 h5 V4 B7 y) W5 b7 y
1 ~3 `, i8 O9 j7 |( x5 S$ u3 k
}/ |- N/ ~7 X% ^
$ k) q* v- o4 W+ [6 `
+ P4 U! \( e: r# B/ P: M
+ Q& y" i8 r8 b9 O1 u, i! @
6 }) p" m* F7 j2 s; E# S
5 y( t) i* l( E! [5 D ! L! F% J; {& ^, @; R1 J( y7 r- @
gen pmaxphddy240=`tempmaxphddy240' in 1
{, o. A: G# @* F/ c# Y - j/ T+ V3 H; ~/ S
; f% F3 A4 J Y4 w1 K/ l7 f *-------------ddy240pmaxp右侧低峰值 -------------------
: C/ k) T; \. p3 ~
) C$ @% S6 y$ H1 m3 W( E/ }& Y preserve
0 v' S/ F( N9 b* V
8 h7 d) l c; s0 l keep if dx240>`tempmaxp'$ z; k, ^* \ x) H2 P
5 U. B2 U& J8 l# z) X gen temddy240=-ddy2401 r4 ?9 P3 f2 O! g% S: p
0 g$ ~, L; j+ g9 L
keep if temddy240>0
3 I& E, T: M# k8 S ~ 4 D; a! O" ]& N$ n" C
count
5 z- Y1 J# J; h% k
& I. T! s7 m/ D# T% J7 l( A if r(N)>2 {
: @) r t/ {+ L J
9 [& a) K( B3 y v pkexamine dx240 temddy240' p6 E9 u5 M- T M: P
8 p% n: k+ [6 Y% | local tempmaxplddy240=r(tomc)
4 X. b8 a) m3 V8 o3 k restore. a" }1 ~/ A8 Y* Y" @2 P/ w
}
5 H8 f2 X5 F+ x# w J* p% F7 _. Z& r
5 m" t/ C9 b6 R' S: p+ r else {
' j+ t0 f3 ^$ e- m0 c. u restore% {* g! T: W# h# C' w! K* \. U
di "cannot find pmaxlhddy240"$ L% i/ j: y" ]6 h4 s
% `1 h3 _( O& s: X
. E' r. g n4 p5 n" z5 u
sum dx240
( R$ w/ j# u# l" E local tempmaxplddy240=r(mean) in 1. M2 }, X8 v. T# |. n% E+ c
% t) E/ s$ L( q , q9 w1 P7 l/ l y8 y% |
}$ ~1 h3 N+ T0 _( N4 s' h! x7 ^
% `& I1 O5 E% R: S
2 V3 e7 h$ m. l# T* \6 V 6 S7 `* }& T8 F7 o$ z
* M8 w) n* Y; J+ }- g# B! K2 o
. S8 T$ _4 C1 N3 [
2 p2 o+ K. _4 d
gen pmaxplddy240=`tempmaxphddy240' in 1
! N9 f+ o4 w1 K3 p. ~ U0 p
" @3 F- G1 p A$ R$ `) h; y *-------------------------------------
, Y! f' i5 S2 q, P( ^3 m + ~- i w/ `* ]
gen price5d=v5 in 1/200 h4 N! R4 [" I. i9 C1 M' J1 `
' `* R+ {2 {5 t [5 v& v' [ gen price5yy=_n in 1/20& J# p& o% q% w, Y
. Y' Y2 R# j C% w. G9 h5 r
gen price5y=price5yy*(dy240max-dy240min)/20 |( J$ h* K; Y6 t/ I+ \" \. g9 |' R
0 ?8 [* e& T, M; ^- _( e% K *price5y &price5d
9 P) T5 g% A m( z f
+ V0 C: k( z; `6 Y& q$ O. T& B( r gen priceny=price5y in 17 E- D& N" k4 _/ Q3 Z
9 e( M1 N& r- A7 f' X0 m- d
gen pricen=v5 in 17 d0 X; ~2 G7 W: I+ i; T
/ X% o8 C, n5 i/ X2 `
! j+ B! b6 E6 I4 }! `" f8 j *priceny &pricen
- F6 v$ P9 j6 P8 l' D2 y
3 @! z' j0 L( ^0 P8 z3 E- T
; F; W8 B- J- R *-------------------------graph------------------
q) a+ w. Z! Q
3 r) q' R+ D# B# b tw(line dy240 ddy240g dx240)(spike yxis mean240, lc(red))(spike yxis maxp, lp(-) lc(black))(spike yxis minp, lc(black)) (scatter yxis2 mean240,lc(red) msymbol(+) mlabel(mean240) lc(red))(scatter yxis maxp,msymbol(+) mlabel(maxp) lc(black))(scatter yxis minp, msymbol(+) mlabel(minp) lc(black))(scatter yxis4 pminphddy240, msymbol(O) c(l[-]) mlabel(pminphddy240))(scatter yxis3 pminplddy240, msymbol(O) c(l[-]) mlabel(pminplddy240))(scatter yxis4 pmaxphddy240, msymbol(O) c(l[-]) mlabel(pmaxphddy240))(scatter yxis3 pmaxplddy240, msymbol(O) c(l[-]) mlabel(pmaxplddy240))(scatter price5y price5d, msymbol(O) mfc(black) mlc(black) c(l[-])) (scatter priceny pricen, msymbol(O) mfc(red) mlc(red)), title("`f'") xtitle("`1'") ytitle("density") legend(off). i5 g" L" H1 c
& l0 V/ `3 ]) x* ---------可选项目----------------------0 P5 u3 w. K. Q; q# R/ |
*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean))
( D( L0 l X$ L9 @5 z( l$ j}2 |" s5 N% u& P7 @) ]
end
% M. w/ _/ w" t( h |
|