|
改了一下,这次运算应该没啥问题了( M* b* U' c J) j) c7 [
4 R3 T' |* @3 J/ N' L+ `
6 s* a% J& y/ w5 ?, }capture program drop hello
$ B4 Y) y& X8 N M1 p! m
4 H( e' y, ]. u5 O: Y- Dprogram hello
' r/ o0 D6 Z p6 d- |/ y& k0 ?* [& c4 U( t3 b* m
quietly {' d6 i, k' ?' u
3 H+ Z8 V4 Q# l) @4 v% L0 Fclear% ^- B% u! v- ]+ H* a# J1 j9 }
& u: f% k7 m; \$ c# ?6 A3 @cd e:\finance\stock\20110101\source& M: d1 Q) _. n! y6 Y! c$ Y" t- {
6 G: z* L, r5 z# Z+ X. Yinsheet using `1'.txt
% ]% h$ p/ u6 e3 J' o( Q+ _* B$ M$ q7 u- A9 s$ M$ X
keep if v5>0' c, m) O ]- N+ d
$ R- @9 o8 E( |/ [) ?5 h
gen vt=_n
6 D' q0 ]4 ]* m+ U8 ` g
6 k! Q I& v& n& }4 z tsset vt# G; k4 a' N+ G/ ^/ ^3 }
9 f* t' ], N$ l8 G# g9 ^) |4 y gen zf=D1.v5
% C! S9 h" b4 K5 J4 J$ |. [5 L( C- ?# Z7 l% E2 @/ F0 S
gsort -v1: u- `- H, G. i2 t0 A
6 t9 A. i( |7 h3 |9 b
gen avol=v7/v5$ k; I; [4 U9 M$ j# W$ c
. `- r% E h1 n! I, F; z; t
keep if avol>0! ^, }, b' t( e8 X- u
7 N. T3 T9 ?0 S) ^2 R& @; S drop vt, I, a3 B# S4 ], r
1 u u, R) z9 H% Q- o gen vt=_n
& l" e1 j8 j; x" f6 ^7 C3 ? 3 e0 x: [; `# x. @
tsset vt
" W# J' M' k- A. K* b- b/ R0 o$ C
! y0 v% X \$ J4 z sum v5 [aw =avol]
+ V, m% v& R2 S% g5 J
4 }) s; Y4 u7 \( i6 ]9 r gen amean=r(mean) in 1) P0 B1 C% Y' v# R$ f8 O
3 a+ P. W- _- I& I5 Q* R+ @ * 总加权平均值 amean, _* K" B/ d# @9 p7 X
! w u7 Y2 K* F $ q& H# w% i7 Q+ Y1 M M s
keep in 1/240
, L( e( E1 d. {& l( L6 |2 W5 B
) K% s- v8 N$ c$ M1 l' p2 v& e sum v5 [aw =avol]% k& E' j, F8 b r# F5 l
- m( A$ v! C# y: p# L+ y0 e gen mean240=r(mean) in 1, G! @7 d# T. M# b7 S; z
5 R! \* m4 N; Z8 o2 J
*240加权平均值 mean240
5 J* K; Y$ r( B& e) F: |
9 I3 ~) ?0 J: F+ x set obs 500 8 y* x6 ^8 e! B
, R6 z6 x) X3 |" M
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
5 S* S0 |" u7 E7 m
8 |) w: \, Y. g, @ *240 kdensity(dx240 dy240)+ k$ n+ U3 L+ M( W' E8 R3 @. I
. f4 J2 [7 @2 A+ }9 c sum dy240
+ q3 s9 \" J, C) f& g
1 c% Y1 |1 V& y: v6 T gen yxis=r(max) in 1
2 @* k8 w: N$ z, @0 b' e
5 p/ T4 e {% {6 Q, ? gen yxis2=yxis/2
5 D* P: e: w/ y. z3 Y! H- ]0 P5 M( B
* j- r) C7 N: ~( t *yxis
. _( Z! }9 Z/ L( J; j3 A ) C1 @+ G; B8 {4 I9 r8 c1 y
gen dy240max=r(max); G% B9 v3 ~0 ~
" ?. P) M, c+ {3 g+ V0 T$ u5 O gen dy240minp=r(min)* g% E, U# y" A f4 C- M
. \' ?' [+ q: t# E% D
gen vtt=_n7 F+ t8 a; Y6 S$ R) l+ r
: W$ g6 K H/ r8 Z# |- N
tsset vtt$ K( c. @9 _7 t. V: O
8 F V q/ Q. @) n* K' u
gen ddy240=D1.dy240/D1.dx240
: L+ ]6 V7 r+ t) q) Y3 a
" n2 a6 E; [4 ]" ~ sum ddy240
) ^2 ~: k0 i" S# r/ R% Q& { + I1 e1 M0 L7 K9 n3 i; e% I
gen ddy240max=r(max)) y# m8 l; J! y, X- j( |& x# R$ R+ G$ J
. R, R0 ?7 V. s5 P/ G" o$ ]( k gen ddy240min=r(min)
4 S" ~7 J, q1 a% |- h% G
& M$ K N9 p% [* a4 i gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
/ [; ]. `$ J' }, I C! x' N$ ~- Y! b 9 l1 b) Y% \' X3 @- e% ^/ G
sum ddy240g
9 ^" K. N* L2 C( O) h" D" z % b0 O& ~1 G' ?( z3 r
gen yxis3=r(min) in 1
2 w, R; O* e3 S* F4 }3 k
6 d1 n% c& T% `- t/ t2 g gen yxis4=0 in 1
& Y* H' S, `- _! J- a2 N
* \! M* Q! M# r) h9 L: ^ *ddy240g 1 O8 s( z4 C) m ]' m
1 A8 ]+ m) J$ Y# X+ v& \
- s! k- v1 k, b# y G' S preserve
' o5 v9 g H3 x- ~ R4 u; z0 {" A
3 C& W' X# v. o* g" Y1 o sum v5 [aw =avol]
" ~$ t# f# l9 p, l9 P
2 w5 D! U2 [( E7 B keep if dx240<r(mean)0 A& N% A! S, g; s/ G; `
$ q5 `7 z4 q! {! t) x" m1 D2 k
sum ddy240
* D0 p; g! O* K4 f
- G; I t# @" K if r(min)<0 {
: j6 v4 v4 o5 f) |- K + ^6 y. z9 _0 {; h F6 d( H
keep if ddy240<=0& {) n e3 I. N# R2 f% N
0 g& P; f6 |. O" E
count9 C o3 p+ b' \
2 H% Y8 [% r) R0 U if r(N)>2 {6 n* f' _" ^: g6 Q$ N$ e
M0 r) R1 ?0 G* p* P2 D pkexamine dx240 dy240
$ L7 c" x( }( _8 K6 R
2 \7 O4 s1 x8 g local tempminp=r(tomc)
* C! i: q7 h, T8 |% G! ^( ]( y restore
, B B* h. L. E }
1 t: X3 c- F6 |- [2 ~ 8 J) T+ L* G3 t
else {
* {5 n" s( s5 J7 g* Q2 J
7 v( ~. T2 @' S2 x& R0 X( r* A6 _ di "cannot find minp"
& r9 \7 u; l* {& |, R
, @6 W2 V- L7 W) G7 I6 y restore * f$ _- x% |) t9 W3 U% U; V
sum dx240
6 t1 L! O& N, `% z! p9 \' @4 S local tempminp=r(mean)1 i5 f. _8 X: a8 Q" p+ S6 }
8 \3 }; q; O8 x6 h8 S
}
- }8 X+ F! n- L6 l3 | }6 k+ p1 s8 J* Q$ A3 i+ B+ f, N% t
else {
; d5 W) O4 j2 c, [3 f ) G3 D: L! z( W2 \8 x- Y
keep if ddy240<=r(min)
, I; ~! U% h# v! s" i
) _4 v9 O& h8 N. Y9 ~4 o1 s sum dx240
2 L" d6 S) p/ M4 j6 Z
; c j# H, f3 r' j5 b0 t# l local tempminp=r(min)) b* M3 [5 H4 t' e
restore ) p( i, N5 S4 A
}
: C5 v7 G: w' L
2 o% K" P9 _9 ^$ {$ w. f. ^2 }; h9 H' G" n
" r2 @5 A, c$ d gen minp=`tempminp' in 16 U, N g9 t; c, i/ \
*240 minp
6 e$ |9 U. L/ N& z
8 x: [+ {! { [
5 x$ W# R4 {' T4 ]9 ]8 L" @
3 z; j; A! K. W4 u9 F* j preserve
2 ?2 B' S; c6 {; u# \. R, }. b1 F
+ r/ r: H9 t6 w' S- ^- j" G sum v5 [aw =avol]" `$ r y) D- l0 Q4 R
& I, u! N' P) W) ]! H+ a" `8 a6 M
keep if dx240>r(mean)
! s) B; Z( h& y6 a* v/ T( K
2 v; L* `" d% `/ J1 g4 P( _ X sum ddy240
& U2 [& P$ k4 ^& ]2 [
, }7 _2 u, q+ i& m/ C if r(max)>0 {
! o0 X! F& z. W5 ?
' `0 N. t, r, N5 P# q: G% _+ a keep if ddy240>=0
- b! m, z& s8 B 7 r6 \8 t' G b# {: w$ P% g2 F
count3 |( u9 n$ Y3 B! w
& ^+ S5 {/ l& i$ K% ^9 A if r(N)>2 {
- j z8 ~$ y, O. {) a + r/ T* Q" X2 i6 j& y
pkexamine dx240 dy2408 d9 I- u8 b3 c2 @' F+ F) m/ t
) d n$ _/ f* r& N& { local tempmaxp=r(tomc) : K5 D0 A; q0 {$ M* ^/ \
restore
, q# h) L5 q- r5 m1 i1 i5 a; a; _ }7 A7 q8 U* k E/ [& {
1 H" s8 w) j1 _ ( V& x) q6 C- t' Z. {
else {. Y& p* x: E4 \
restore
- f) w% e" [* m3 l di "cannot find maxp"
7 z# E/ @; e9 W# h* S/ e# W
3 o! F( a# @4 K" [/ M ]( b . T& _6 H* @9 V4 h1 V6 {# p
sum dx240
. s( g5 R* ^! M9 ]" ]/ f% B local tempmaxp=r(mean). l- z3 ^' [3 i6 f2 r- g
1 f" d+ y1 d% n0 D: n1 @, s3 \
}
: w8 {1 T; t2 c) _" e
$ i( l: l0 c( }, g2 U4 K/ @0 v' e }
* t' s) t! f+ I& J+ n6 x
1 v8 F6 t, |- i* T# }6 j else {
& M2 h# T# C5 t: G3 V& C: J3 V- S$ F
: V" N/ Z* l% m: W keep if ddy240>=r(max)
( k) X' A h s/ [ , l, K7 q8 U/ e$ s- J8 }
sum dx240% H$ u- l# I9 q# E8 r: D$ A
& \; F1 |' p% s6 ]$ E
local tempmaxp=r(max)
( R2 a) A( }% l" m! L0 j" B restore
4 K0 o7 w9 ^( Q- U) D. Q% l3 i }
4 R. `8 _/ `! [( t- N( k
" u2 p& P( A. \' q" Q6 E V' t, n
3 z, }8 B* V- f3 p$ z1 o. \% m
gen maxp=`tempmaxp' in 1
8 z5 C) F6 }9 [ 1 ~, g1 A3 k9 o5 l) a$ @
*240maxp& w2 a! ^6 _( K3 s/ b$ `' g
3 J7 _( ?; h ?! y, j+ _/ Z
7 J2 K/ Z8 k1 I1 Z% t *-------------ddy240pminp左侧高峰值-----, T9 U, r% J/ `- J: ?. I
Q5 A7 [5 y+ N
preserve 6 [0 ^4 f1 O; k) F3 ^
5 o3 L9 X: ~" X2 j, O/ g' |6 r keep if dx240<`tempminp'
1 V H" J1 h* @0 @ # b9 M+ a2 M4 X: R1 N# P- E
keep if ddy240>04 F* K! ]* T$ H' g4 p8 a% B0 N8 E
; K0 h8 \+ A D) Z
count4 b- j' O- r$ Y. z: F2 u
. ^2 P8 ?( o, X8 ^1 _ if r(N)>2 {/ E! v; b& f: {; |+ q
$ I! ~3 M) C* C. w. R: {$ c4 i5 A) o pkexamine dx240 ddy2409 {3 N' A% l1 E
+ C# T+ _5 _5 K' F6 t7 U5 N( B
local tempminphddy240=r(tomc)
( t8 y9 ]' Y: H5 L& m! B restore- z; d& r0 ?/ T/ t, R: J* I1 C: J4 w
}- j k) S4 N' p8 H6 Z
$ j0 t8 [4 c' ]# u( `
else {
" G8 |2 G9 i7 o restore
; [5 {0 _9 T O6 Y; `7 g2 ~/ @% D di "cannot find pminphddy240"2 l; ]# o. s1 P
: C$ ~ c- r5 B: u) }9 j0 q7 G
' i2 o7 z/ _$ m( n! Z' C
sum dx240; D* u1 q& o* r; I" G
local tempminphddy240=r(mean)
: Y! a* ~- v/ p% [0 ^ ! T7 e$ [6 l/ w( R5 _% l7 J8 N
/ e$ @5 P9 T* K0 l3 b
}/ }2 x3 Q' ]& s; y2 [; e
; l9 Q5 \) Q! V! k8 ~3 C( n
' Q5 e0 e; o, W- T/ [
: h7 |% G" d: P Z4 I# D4 S3 B , q, G0 K8 U9 H% X( p
) Y! R) X# |! b3 B3 ^
) @; N5 S, C8 c! ]0 G1 ? gen pminphddy240=`tempminphddy240' in 12 n. ]& ]/ s) a" x$ A8 p
& M$ B# [; H$ K+ N$ o* F8 `9 M & Y$ j! a- A3 i) L6 L$ P) E1 q
*-------------ddy240pminp右侧低峰值 -----------------
/ l9 ^$ h* [3 Y( J* z' p preserve I5 J! h c0 m, Q/ @9 L6 V2 A
. M8 C" J5 n' t- d- k keep if dx240>`tempminp'
" e4 h" ?* A! Y+ d4 \2 D 8 w) H5 o& N2 Y8 w/ i4 t
keep if dx240<`tempmaxp'6 z1 X7 q7 ?8 L. F
d( J5 J% i# ] keep if ddy240<0* E! i1 C4 N' p4 ?5 W' H6 h3 n
/ Z* h ~0 j# F" M1 U$ W( } gen temddy240=-ddy240
; W0 ]' v/ }" h) n" E # P" F( u9 {" N* S; l
count8 @. E" [5 p- G2 q7 F Q
5 m3 }( h- R: M/ Y, r; y8 x% { Z if r(N)>2 {
# ?0 j# Z1 `. Q8 \4 ?" S ( ?! H B; s& V
pkexamine dx240 temddy240' P. b8 f! K/ x. \3 h6 `
" x- d( n4 Y1 A; o( m3 q0 K
local tempminplddy240=r(tomc)
6 y( ?2 Q& {( t+ e restore0 h! t4 D' b v k+ B+ ]
}- f$ ^0 c( s( n( N" u" v, @
' U* c2 z, T1 u" ]! b$ j6 K/ H: g else {
) ?+ b" Z P$ j7 H- I' Z# J 5 b1 I: ~- l0 ?% j* F
di "cannot find pminplddy240"* {3 Q6 U& I9 N* _( r$ Y/ x* K
restore
2 H9 X f+ y. T$ y" S2 V2 M: a
. m2 w- S6 T4 ?$ l7 o sum dx240
. |' j4 D) |$ H9 B0 R7 P- ?" n( O; J local tempminplddy240=r(mean)8 C/ C$ N- u. z U: S. q( P. d
& @3 l6 y' |' |
0 C- d; {6 q# {. I% _: g }1 i& D3 Y; n3 g1 O- @4 J& ^+ o6 E
; u" {: g/ _3 J( Z
& B+ K. ^7 Q2 A1 @
0 p; n6 Y- v7 Y1 q 8 A. W+ W/ p( d+ z! [# \' W9 z
! B( t$ e9 t9 U* k; H gen pminplddy240=`tempminplddy240' in 1; f* N+ t; x; D: z5 @/ Q1 d
7 C) A& r# N- [ *-------------ddy240pmaxp左侧高峰值 -------------------' U; h7 B" f- _/ B0 @4 x: I. H8 F5 M
}# A/ W) U7 A7 I6 q( h7 E preserve
& c8 }0 Y1 W, a0 ^: Y' j 2 [2 I% X$ o% @+ r+ C. G' o# I
keep if dx240>`tempminp'8 m, Z$ H9 q; U% r: l3 w$ ^8 g
4 \; I" w( K* \1 {
keep if dx240<`tempmaxp'
1 k4 E, \2 T" S0 ^ ( L- g) F% g4 P( x% w
keep if ddy240>0
6 s" Z: Q4 o' T4 v }7 | count' h0 }3 [7 A( F0 L
. ^ s( z% u7 C* l
if r(N)>2 {
: X9 X2 N: W* G" g7 Z+ e; X: @
0 A& X$ @ e' @2 o1 `5 M7 } pkexamine dx240 ddy2404 u, Z. d# b! B9 l- }5 j- W
% F) g* r3 J! F. P% m7 j
local tempmaxphddy240=r(tomc) : C7 ]/ {4 \* u
1 U1 ^, n; O8 z8 u; E
restore$ G4 w+ Z" T& \, [+ V
}
. U/ S/ x) j- F
$ O. n0 D5 a1 q ^! ~ else {
0 J/ S1 [9 A( W, u+ L* B$ h 1 J+ v. h4 a/ ]8 p% @; d8 |
di "cannot find pmaxphddy240". i8 ~! {" S4 D$ q- B
restore. Y/ ~- l. `1 N7 _7 P# M! @. l& T8 N
' Q" N4 D5 t7 u$ r# u% \" u- M2 _
sum dx240! C/ e4 w. g# y( b2 Y. A/ F
local tempmaxphddy240=r(mean) / x: B$ S# H+ ~
. k! j! a. a# R8 T* v: J& t# ]
: z; W9 Y. _! o" t3 z. N }" ~, W- S; i9 x& N( |. I
" s% s& e# @) L1 ~( L: k
% L* s( c/ J; M* M3 N+ O * q5 ?- R5 z: D: u- {# ?- J
3 [4 L4 u! z, [! H! F# W% |% ~7 \
+ z7 C8 f7 y5 ?, H6 n' C $ s/ b& E4 T' m( a, K$ f O
gen pmaxphddy240=`tempmaxphddy240' in 15 }! L9 D3 K- h% T p
: f. a) F" v/ D4 z3 Z
+ @! n" Y# A/ M
*-------------ddy240pmaxp右侧低峰值 -------------------- @( b" x# u/ ~: b; ~9 {
9 v' j; Q5 b3 Z# X. h4 M! F
preserve
9 J4 q6 k! m5 I# X! O% j$ @7 J: H 3 A% q2 o" R0 O2 A
keep if dx240>`tempmaxp'5 n1 \5 V c. H) Q& ^/ h
* S0 s1 V q; ] n
gen temddy240=-ddy2400 e3 W- P7 ~: r
8 ?0 @3 F" j$ \2 | J3 o7 O keep if temddy240>0+ X& l8 p; }( c+ j8 e+ p4 B# {
% Y7 j! }4 R' Q' H7 A S
count
; @9 G- q' Q" i0 S/ F& l( M- |
5 x: E! }" b$ z! v- C& {( v if r(N)>2 {
' T4 O" t' M7 u % G8 X. @* x1 g3 W
pkexamine dx240 temddy240
/ Y; a, L5 ~" m* l* Q
3 w, q0 J5 Y" k6 e local tempmaxplddy240=r(tomc) 1 W7 G9 B, \: @; _
restore
. b( u, H: b; ~ }& _3 j d+ V" d" [; K5 x
, ]; p; x* L3 } B0 q: N) F
else {
' z: \& B" ~/ f& @2 X, h7 f restore
9 q4 b9 F, P3 u# u, ^# z0 B di "cannot find pmaxlhddy240"
# H% A. j9 [) A4 a z' L/ ?0 [- _
# [0 W5 @7 g' L H) g7 R: \4 k3 Q sum dx240$ F. M0 Q w2 m3 W5 S( J4 {: ?5 D
local tempmaxplddy240=r(mean) in 1
& Z; S. E+ M6 t6 c" G& ? * F' `4 K; L6 s% y# a1 Q* N
. A0 m- _0 ^0 U; U' ^( K! }
}
9 C( d# ^# I* c7 K / a6 v: W# T- _
+ d0 H; B' I" J! s$ T6 O$ Z5 n! B- d
3 Z: s9 Q6 j- c: O$ J$ l7 T
' O- |( Y! o i# K0 R
$ k( @& \/ Y" M" D9 _8 A7 A# K; s * B4 X; n% ^3 H4 [. n, Y$ m( Y: t) }
gen pmaxplddy240=`tempmaxphddy240' in 1
% }+ l6 ]; s- V 5 @2 ?# t) `9 _
*-------------------------------------
, @1 v" E3 e O0 D( ~3 v$ l % u9 o/ X+ k0 Z8 }- W4 i
gen price5d=v5 in 1/20) j+ k; I/ g5 k& T& S1 p7 G
" I. j8 R# d% R7 l9 p, B
gen price5yy=_n in 1/20
- j, y+ w/ U3 n; S
. _3 e' C5 h& y) x+ \/ r7 G gen price5y=price5yy*(dy240max-dy240min)/20' {- V9 C! s0 T: [' g" f
) ~* \$ u/ |1 t6 a" s/ b/ \: d4 `0 B *price5y &price5d
2 Y! C9 {; M# N6 w4 q
5 Q5 [. j# c4 [$ h: G. s5 M5 c gen priceny=price5y in 1. F# T [. d3 c, s5 X' C
! W) q9 t! I! \4 Y! ?! w9 @ gen pricen=v5 in 1+ Z+ f4 D7 ^0 R: `. P. w' U" r
4 J% s: V f1 J$ z7 R5 j8 k 9 }% h5 k7 L/ d2 B
*priceny &pricen
0 I* @) @* {0 o* D( g
! X$ I. W: Q4 t ! {/ p: m+ k% k; t7 Q5 ?/ ]6 p
*-------------------------graph------------------" G2 {. f* J8 E! T* W/ Z
% R. v& S) A; n
tw(line dy240 ddy240g dx240)(spike yxis amean,lc(blue))(spike yxis mean240, lc(red))(spike yxis maxp, lp(-) lc(black))(spike yxis minp, lc(black))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean)) (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)+ h. |' U4 h# r: n
- x1 n$ Z) D( C( J' A* ---------可选项目----------------------+ l3 l! i5 C# }
; n- _& U- r6 z; L; }}
( M' b& G, h* ?1 gend
' o& U" j4 E3 R/ t4 N |
|